如何在Spring Boot中验证Rest API中POST方法不需要的请求主体参数

如何在Spring Boot中验证Rest API中POST方法不需要的请求主体参数,spring,validation,Spring,Validation,请求正文包含如下数据 { “姓名”:“你好”, “年龄”:10岁, “嗨”:” } 但是在Rest控制器中,我试图在DTO的帮助下获取这些数据,RestControllerDTO.class 公共RESTCONTROLERDTO{ @不空白 私有字符串名称 @不空白 私人整数年龄 //二传手 } 现在我想抛出一个异常,因为在进入控制器类之前,“hi”是一个未知字段。您可以通过在控制器方法中使用@Valid annotation来实现这一点 @GetMapping("/foo"

请求正文包含如下数据 { “姓名”:“你好”, “年龄”:10岁, “嗨”:” }

但是在Rest控制器中,我试图在DTO的帮助下获取这些数据,RestControllerDTO.class

公共RESTCONTROLERDTO{

@不空白 私有字符串名称

@不空白 私人整数年龄

//二传手

}


现在我想抛出一个异常,因为在进入控制器类之前,“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