控制器方法
@PostMapping("/post")
public String post(@Validated @RequestBody MyValidateParam obj) {
return obj.getClass().getSimpleName();
}
实体类,参数校验写了
@Data
public class MyValidateParam {
@NotEmpty(message = "名称不能为空n")
private String name;
@Digits(integer = 3, fraction = 2)
@Min(10)
private Double money;
}
请求入参如图,返回结果如图,message
字段没有我定义的内容,控制台倒是有,如何写让返回message
字段显示实体类定义的内容?
网上找到方法说自定义异常处理,如下,但是自定义的返回code
等字段写死了,如何动态获取spring默认返回的,只是message
字段用自定义的呢?
@ControllerAdvice
public class MyExceptionHandler {
@ResponseBody
@ExceptionHandler(MethodArgumentNotValidException.class)
public Map<String, Object> handleException(Exception e) {
Map<String, Object> map = new HashMap<>();
map.put("code", "400");
map.put("message", e.getMessage());
map.put("cause", e.getCause());
return map;
}
}