springboot接口入参校验
时间: 2023-07-03 13:29:35 浏览: 111
在Spring Boot中,可以使用JSR-303 Bean验证框架来进行接口入参校验。步骤如下:
1. 在实体类中使用注解标注需要校验的属性,如@NotBlank、@NotNull等。
2. 在Controller中使用@Valid注解标注需要校验的实体类参数。
3. 如果校验失败,会抛出MethodArgumentNotValidException异常,可以通过@ExceptionHandler注解处理异常并返回错误信息。
示例代码如下:
实体类:
```
public class User {
@NotBlank(message = "用户名不能为空")
private String username;
@NotBlank(message = "密码不能为空")
private String password;
// getter和setter方法省略
}
```
Controller:
```
@RestController
public class UserController {
@PostMapping("/user")
public void addUser(@Valid @RequestBody User user) {
// 处理新增用户逻辑
}
@ExceptionHandler(MethodArgumentNotValidException.class)
public ResponseEntity<String> handleValidationException(MethodArgumentNotValidException e) {
BindingResult result = e.getBindingResult();
StringBuilder errorMsg = new StringBuilder();
for (FieldError error : result.getFieldErrors()) {
errorMsg.append(error.getDefaultMessage()).append("; ");
}
return ResponseEntity.badRequest().body(errorMsg.toString());
}
}
```
在上面的示例代码中,当新增用户时,会对User实体类进行校验。如果校验失败,会抛出MethodArgumentNotValidException异常。使用@ExceptionHandler注解处理异常,并将错误信息返回给前端。
阅读全文