Commit 7f721fc1 authored by 黎博's avatar 黎博

新增参数校验及修改Http请求切片

parent 5e7f5009
......@@ -161,6 +161,12 @@
<version>3.1.305</version>
</dependency>
<!-- 参数校验 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
</dependencies>
<build>
......
......@@ -3,26 +3,51 @@ package cn.qg.holmes.aspect;
import cn.qg.holmes.common.JsonResult;
import cn.qg.holmes.exception.TokenInvalidException;
import cn.qg.holmes.exception.UnauthorizedException;
import org.springframework.validation.ObjectError;
import org.springframework.web.bind.MethodArgumentNotValidException;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* 全局异常处理
* @author libo
*/
@ControllerAdvice
@ResponseBody
public class ExceptionHandlerAdvice {
/**
* 权限不足
*/
@ExceptionHandler(UnauthorizedException.class)
public JsonResult handleException(UnauthorizedException e) {
e.printStackTrace();
return JsonResult.buildErrorStateResult("权限不足!", false);
}
/**
* Token无效
*/
@ExceptionHandler(TokenInvalidException.class)
public JsonResult handleException(TokenInvalidException e) {
e.printStackTrace();
return JsonResult.buildErrorStateResult("登录已失效,请重新登录!", false);
}
/**
* 参数验证失败
*/
@ExceptionHandler(MethodArgumentNotValidException.class)
public JsonResult handleException(MethodArgumentNotValidException e) {
e.printStackTrace();
ObjectError objectError = e.getBindingResult().getAllErrors().get(0);
return JsonResult.buildErrorStateResult(objectError.getDefaultMessage(), false);
}
/**
* 其他所有异常
*/
@ExceptionHandler(Exception.class)
public JsonResult handleException(Exception e) {
e.printStackTrace();
......
......@@ -30,7 +30,7 @@ public class HttpLogAspect {
private static final Logger logger = LoggerFactory.getLogger(HttpLogAspect.class);
@Pointcut("execution(public * cn.qg.holmes.controller.mock..*(..))")
@Pointcut("execution(public * cn.qg.holmes.controller.*..*(..))")
public void httpRequestLog() {}
/**
......
......@@ -11,6 +11,7 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
......@@ -90,7 +91,7 @@ public class BuildDataController {
*/
@RequiresPermissions("build:data:add")
@PostMapping("/add")
public JsonResult addBuildDataDetail(@RequestBody BuildDataDetail buildDataDetail) {
public JsonResult addBuildDataDetail(@Valid @RequestBody BuildDataDetail buildDataDetail) {
QueryWrapper<BuildDataDetail> queryWrapper = new QueryWrapper<>();
queryWrapper
.eq("name", buildDataDetail.getName())
......@@ -108,7 +109,7 @@ public class BuildDataController {
*/
@RequiresPermissions("build:data:update")
@PostMapping("/update")
public JsonResult updateBuildDataDetail(@RequestBody BuildDataDetail buildDataDetail) {
public JsonResult updateBuildDataDetail(@Valid @RequestBody BuildDataDetail buildDataDetail) {
return JsonResult.buildSuccessResult(buildDataDetailService.updateById(buildDataDetail));
}
......@@ -119,7 +120,7 @@ public class BuildDataController {
*/
@RequiresPermissions("build:data:delete")
@PostMapping("/delete")
public JsonResult deleteBuildDataDetail(@RequestBody BuildDataDetail buildDataDetail) {
public JsonResult deleteBuildDataDetail(@Valid @RequestBody BuildDataDetail buildDataDetail) {
return JsonResult.buildSuccessResult(buildDataDetailService.removeById(buildDataDetail.getId()));
}
}
package cn.qg.holmes.entity.effect;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.util.Date;
/**
......@@ -15,22 +17,27 @@ import java.util.Date;
@Data
public class BuildData {
@TableId(type = IdType.AUTO)
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
/**
* 模块名称
*/
@TableField(value = "name")
@NotBlank(message = "模块名称不能为空")
private String name;
/**
* 模块颜色
*/
@TableField(value = "color")
@NotBlank(message = "模块颜色不能为空")
private String color;
/**
* 更新时间
*/
@TableField(value = "update_time")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
}
package cn.qg.holmes.entity.effect;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;
/**
......@@ -18,27 +21,34 @@ public class BuildDataDetail {
/**
* 主键id
*/
@TableId(type = IdType.AUTO)
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
/**
* 造数据说明
*/
@TableField(value = "name")
@NotBlank(message = "名称不能为空")
private String name;
/**
* 链接地址
*/
@TableField(value = "url")
@NotBlank(message = "链接名称不能为空")
private String url;
/**
* 模块id
*/
@TableField(value = "module")
@NotNull(message = "模块id不能为空")
private Integer module;
/**
* 更新时间
*/
@TableField(value = "update_time")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment