Java 如何将SpringRequestBody中的参数定义为NOTNULL?

Java 如何将SpringRequestBody中的参数定义为NOTNULL?,java,spring,spring-boot,Java,Spring,Spring Boot,我希望能够在Spring的@RequestBody中将某些变量定义为NOTNULL。这样,Spring的控制器将拒绝其主体没有我定义为关键变量的任何请求。我尝试了下面的代码,但它不起作用: 控制员: @PutMapping("/") ResponseEntity updateOptions( @RequestBody RequestDto requestDto ); 对于RequestDto,我希望始终填充第一个参数: 您需要添加@Valid注释 @PutMappin

我希望能够在Spring的@RequestBody中将某些变量定义为NOTNULL。这样,Spring的控制器将拒绝其主体没有我定义为关键变量的任何请求。我尝试了下面的代码,但它不起作用:

控制员:

@PutMapping("/")
ResponseEntity updateOptions(
   @RequestBody RequestDto requestDto
);
对于RequestDto,我希望始终填充第一个参数:

您需要添加@Valid注释

@PutMapping("/")
ResponseEntity updateOptions(
   @Valid @RequestBody RequestDto requestDto
);
如果您使用的是Spring Boot 2.3及更高版本,我们还需要添加Spring Boot starter验证依赖项:

<dependency> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-validation</artifactId> 
</dependency>

有关更详细的示例,您可以查看本文。

您需要添加@Valid注释

@PutMapping("/")
ResponseEntity updateOptions(
   @Valid @RequestBody RequestDto requestDto
);
如果您使用的是Spring Boot 2.3及更高版本,我们还需要添加Spring Boot starter验证依赖项:

<dependency> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-validation</artifactId> 
</dependency>

有关更详细的示例,您可以查看本文