您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Spring-Boot如何自定义参数校验注解的错误提示信息?

Spring-Boot如何自定义参数校验注解的错误提示信息?

控制器方法

@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字段显示实体类定义的内容?
image.png
image.png

网上找到方法说自定义异常处理,如下,但是自定义的返回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;
    }
}
java 2022/2/8 20:50:55 有446人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶