准备
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Book {
private Integer id;
@NotBlank(message = "书名不能为空")
private String name;
@NotBlank(message = "作者不能为空")
private String author;
@NotBlank(message = "出版社不能为空")
private String publish;
@NotNull(message = "页数不能为空")
@Min(value = 1,message = "页数至少为1")
@Max(value = 1000000, message = "页数最多一百万!")
private Integer pages;
@NotNull(message = "价格不能为空")
@Min(value = 0,message = "价格必须大于等于0")
@Max(value = 2147483647, message = "价格最多一百万!")
private Float price;
private Integer bookcaseid;
private Integer abled;
}
处理
@RestControllerAdvice
public class GlobalHandler {
@ExceptionHandler(MethodArgumentNotValidException.class)
public Result handleValllidException(MethodArgumentNotValidException e, HttpServletResponse resp){
String defaultMessage = e.getBindingResult().getFieldError().getDefaultMessage();
return Result.error(401,defaultMessage);
}
@ExceptionHandler(HttpMessageNotReadableException.class)
public Result handleMessageNotReadable(HttpMessageNotReadableException e, HttpServletResponse resp){
return Result.error(402,"参数数值不符合要求");
}
}