展开
拓展 关闭
订阅号推广码
GitHub
视频
公告栏 关闭

验证注解

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
<version>2.7.0</version>
</dependency>
  • dto数据传输对象中使用注解

  • 使用该对象时,添加@Valid或者@Validated

# 例如控制层中
@PostMapping("/test")
public void test(@Valid @RequestBody User user){
...
}
  • 全局配置返回错误信息
@RestControllerAdvice
@Slf4j
public class ExceptionResolver {
@ResponseStatus(HttpStatus.BAD_REQUEST)
@ExceptionHandler(value = { MethodArgumentNotValidException.class})
public RetJson methodArgumentNotValidExceptionHandler(MethodArgumentNotValidException e) {
return RetJson.fail(ResultCode.VALIDATE_FAILED.getCode(), "参数异常"+e.getBindingResult().getFieldError().getDefaultMessage());
}
}
  • 控制层中直接方法错误信息
@PostMapping(value = "/updateUser")
public JSONResult updateUser(@Valid @RequestBody ResetPwdDTO resetPwdDTO, BindingResult result){
if (result.hasErrors()) {
StringBuilder sb = new StringBuilder();
for (ObjectError error : result.getAllErrors()) {
sb.append(error.getDefaultMessage());
}
log.error("参数错误:", sb);
return new JSONResult(40001, sb.toString());
} else {
User user = UserAssembler.ResetPwdDtoToUser(resetPwdDTO);
int i = userMapper.updateById(user);
return new JSONResult(i);
}
}
posted @   DogLeftover  阅读(27)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示