如何在Spring Boot中验证Rest API中POST方法不需要的请求主体参数
请求正文包含如下数据 { “姓名”:“你好”, “年龄”:10岁, “嗨”:” } 但是在Rest控制器中,我试图在DTO的帮助下获取这些数据,RestControllerDTO.class 公共RESTCONTROLERDTO{ @不空白 私有字符串名称 @不空白 私人整数年龄 //二传手 }如何在Spring Boot中验证Rest API中POST方法不需要的请求主体参数,spring,validation,Spring,Validation,请求正文包含如下数据 { “姓名”:“你好”, “年龄”:10岁, “嗨”:” } 但是在Rest控制器中,我试图在DTO的帮助下获取这些数据,RestControllerDTO.class 公共RESTCONTROLERDTO{ @不空白 私有字符串名称 @不空白 私人整数年龄 //二传手 } 现在我想抛出一个异常,因为在进入控制器类之前,“hi”是一个未知字段。您可以通过在控制器方法中使用@Valid annotation来实现这一点 @GetMapping("/foo"
现在我想抛出一个异常,因为在进入控制器类之前,“hi”是一个未知字段。您可以通过在控制器方法中使用@Valid annotation来实现这一点
@GetMapping("/foo")
public void bar(@Valid RestControllerDTO dto, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
throw new Exception();
}
...
我还建议将@NotNull添加为@NotBlank,只检查“您能详细说明您想要做什么吗?如果您使用jackson进行json反序列化,请尝试在application.properties中设置
spring.jackson.deserialization.fail on unknown properties=true
,