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

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

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