@Valid验证字段

在这里插入图片描述

接口:
在这里插入图片描述
vo:

public class LoginInfoVo {
    @NotBlank(message = "账号不能为空")
    private String username;
    @NotBlank(message = "密码不能为空")
    private String password;
}

postman测试:
在这里插入图片描述
在这里插入图片描述
注意:

1.@NotNull、@NotEmpty、@NotBlank的区别在这里插入图片描述
2.如果controller中方法参数是基本类型或者String,要校验这种非bean:在controller类上打@Validated,方法参数上再加校验就好(可以不用加@Valid或者@Validated了)
3.如果controller中方法参数是对象bean,则在方法参数上加@Valid,然后再加校验就好
4.@Validated不能作用于属性字段,因此级联校验选择使用@Valid,什么是级联校验,controller中方法的参数类型是bean对象,该对象中的属性字段也是对象,如果要对该内部对象也同时做校验,则需要在该内部对象上加@Valid

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用@Valid注解可以在Controller层对请求参数进行校验,确保请求参数的合法性。具体实现步骤如下: 1. 在需要校验的字段上添加@Valid注解,例如: ```java public class User { @NotBlank(message = "用户名不能为空") private String username; @NotBlank(message = "密码不能为空") private String password; @Email(message = "邮箱格式不正确") private String email; // ... } ``` 2. 在Controller层的请求处理方法中添加@Valid注解,例如: ```java @RestController public class UserController { @PostMapping("/users") public ResponseEntity<?> createUser(@Valid @RequestBody User user) { // 处理用户创建逻辑 return ResponseEntity.ok().build(); } } ``` 这样,当请求参数不符合@Valid注解中定义的校验规则时,会抛出MethodArgumentNotValidException异常,可以通过ExceptionHandler来处理该异常。 例如: ```java @RestControllerAdvice public class GlobalExceptionHandler { @ExceptionHandler(MethodArgumentNotValidException.class) public ResponseEntity<?> handleMethodArgumentNotValidException(MethodArgumentNotValidException e) { BindingResult bindingResult = e.getBindingResult(); List<String> errorList = bindingResult.getFieldErrors().stream() .map(FieldError::getDefaultMessage) .collect(Collectors.toList()); return ResponseEntity.badRequest().body(errorList); } } ``` 这里的处理方式是将所有的校验失败信息封装成一个List返回给客户端。你可以根据具体需求进行修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值