springboot 入参空值校验
时间: 2023-07-01 11:29:05 浏览: 158
在 Spring Boot 中,入参的空值校验可以通过使用 Hibernate Validator 来实现。具体步骤如下:
1. 在 pom.xml 文件中添加 Hibernate Validator 的依赖:
```
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>6.1.5.Final</version>
</dependency>
```
2. 在 Controller 中使用 @Validated 注解对入参进行校验,并使用 @NotBlank、@NotNull、@NotEmpty 等注解对具体字段进行校验:
```
@RestController
@Validated
public class UserController {
@PostMapping("/user")
public void addUser(@Valid @RequestBody User user) {
// do something
}
public static class User {
@NotBlank
private String username;
@NotNull
private Integer age;
// getters and setters
}
}
```
3. 当入参不满足校验规则时,会抛出 MethodArgumentNotValidException 异常,可以通过 @ExceptionHandler 注解来处理异常:
```
@RestControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(MethodArgumentNotValidException.class)
public ResponseEntity<String> handleMethodArgumentNotValidException(MethodArgumentNotValidException e) {
BindingResult bindingResult = e.getBindingResult();
List<ObjectError> allErrors = bindingResult.getAllErrors();
// 返回错误信息
return ResponseEntity.badRequest().body(allErrors.get(0).getDefaultMessage());
}
}
```
通过以上步骤,就可以在 Spring Boot 中对入参进行空值校验。
阅读全文