Spring Boot对接口传递的数据进行校验
Spring Boot可以通过使用JSR-303 Bean Validation规范来对接口传递的数据进行校验。当我们定义了一个入参类时,我们可以在该类上添加相应的校验注解,如@NotNull
、@Size
等注解,这些注解会告诉Spring对该类的属性进行校验。
例如,我们定义了一个User类,并希望对其中的用户名(username)不能为空,密码(password)长度必须在6到20之间,可以使用如下的代码:
public class User {
@NotNull
private String username;
@Size(min=6, max=20)
private String password;
// getter、setter方法
}
在控制器中,当我们需要对接收到的数据进行校验时,可以使用@Valid
注解来开启校验功能,并在操作方法的参数列表中添加校验结果对象BindingResult。
例如:
@PostMapping("/register")
public String register(@Valid @RequestBody User user, BindingResult result){
if(result.hasErrors()){
List<FieldError> fieldErrors = result.getFieldErrors();
// 根据自己的需求返回相应结果
return "error";
}else{
// 根据自己的需求返回相应结果
return "success";
}
}
在上述代码中,@Valid
注解会告诉Spring对入参进行校验,如果校验不通过,会将错误信息放入绑定结果对象BindingResult中,我们可以根据自己的需求处理这些错误信息。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/188556.html