05 实体校验
实体校验
当我们表单数据提交的时候,前端的校验我们可以使用一些类似于jQuery Validate等js插件实现,而后端我们可以使用Hibernate validatior来做校验。
我们使用springboot框架作为基础,那么就已经自动集成了Hibernate validatior。
那么用起来啥样子的呢?
第一步:首先在实体的属性上添加对应的校验规则,比如:
@TableName("m_user")
public class User implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
@NotBlank(message = "昵称不能为空")
private String username;
@NotBlank(message = "邮箱不能为空")
@Email(message = "邮箱格式不正确")
private String email;
...
}
第二步 :这里我们使用@Validated注解方式,如果实体不符合要求,系统会抛出异常,那么我们的异常处理中就捕获到MethodArgumentNotValidException。
- com.gychen.controller.UserController
/**
* 测试实体校验
* @param user
* @return
*/
@PostMapping("/save")
public Result save(@Validated @RequestBody User user) {
return Result.succ(user);
}
- 在postman软件里写接口请求测试
请求类型为POST,URL为http://localhost:8081/user/save,依次选择Body->raw->JSON
{
"_comment":"postman清求数据",
"username":"gychen",
"email":"xxx"
}
{
"_comment":"服务器返回数据",
"code": "-1",
"msg": "邮箱格式不正确",
"data": null
}