springboot接口入参校验 不生效
时间: 2023-08-10 22:25:31 浏览: 41
如果你使用的是Spring Boot 2.x版本,可以使用JSR 303 Bean Validation API对接口入参进行校验。需要注意的是,入参校验只有在实体类上加了@Validated注解,方法入参上加了@Valid注解才会生效。
以下是一个示例代码:
```java
@RestController
@RequestMapping("/api")
@Validated
public class UserController {
@PostMapping("/users")
public ResponseEntity<User> addUser(@RequestBody @Valid User user) {
// 处理添加用户的逻辑
return ResponseEntity.ok(user);
}
}
```
在这个例子中,@Validated注解用于控制器类上,表示启用参数校验。@Valid注解用于方法入参上,表示对入参进行校验。User是一个实体类,加上@Valid注解后,就可以对其中的字段进行校验。
如果还是不生效,可以检查一下是否缺少了依赖。需要引入以下依赖:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
```
使用这个依赖后,Spring Boot会自动配置JSR 303 Bean Validation API。如果还是不行,可以检查一下是否有其他配置或拦截器导致校验不生效。
阅读全文