@PathVariable 参数校验
时间: 2023-11-07 12:57:26 浏览: 54
@PathVariable 参数校验是指对使用 @PathVariable 注解的方法参数进行校验。在Spring框架中,可以使用 @Valid 注解和 BindingResult 对象来实现参数校验。当参数校验失败时,可以通过 BindingResult 对象获取校验错误信息。
具体实现方法如下所示:
1. 在方法参数前添加 @Valid 注解,表示需要校验该参数。
2. 在方法参数后添加 BindingResult 对象,用于接收校验结果。
3. 在方法体内,通过 BindingResult 对象判断校验结果是否有错误,如果有错误,则可以获取错误信息进行处理。
示例代码如下:
```
@RestController
public class UserController {
@GetMapping("/users/{id}")
public ResponseEntity<User> getUser(@PathVariable @Valid Long id, BindingResult result) {
if (result.hasErrors()) {
List<String> errors = result.getAllErrors().stream()
.map(ObjectError::getDefaultMessage)
.collect(Collectors.toList());
return ResponseEntity.badRequest().body(errors);
}
// 校验通过,继续处理其他逻辑
// ...
}
}
```
在上述示例中,使用 @Valid 注解对 @PathVariable 参数 id 进行校验。如果校验失败,将错误信息封装到一个列表中,并通过 ResponseEntity.badRequest() 方法返回错误信息。如果校验通过,则可以继续处理其他逻辑。