SpringBoot(六)
实体参数校验
1、实体类成员变量上添加注解
@NotNull
@NotEmpty
@Email
@Data
public class User {
@NotNull
private Integer id;//主键ID
private String username;//用户名
@JsonIgnore
private String password;//密码
@NotEmpty
@Pattern(regexp = "^\\S{1,10}$")
private String nickname;//昵称
@NotEmpty
@Email
private String email;//邮箱
private String userPic;//用户头像地址
private LocalDateTime createTime;//创建时间
private LocalDateTime updateTime;//更新时间
}
2、接口方法的实体参数上添加@Validated注解
@PutMapping("/update")
public Result<String> update(@RequestBody @Validated User user){
userService.update(user);
return Result.success();
}
3、结果
{
"id":2,
"username":"wangba",
"nickname":"wba",
"email":"wacc"
}
{
"code": 1,
"message": "Validation failed for argument [0] in public com.itheima.pojo.Result<java.lang.String> com.itheima.controller.UserController.update(com.itheima.pojo.User): [Field error in object 'user' on field 'email': rejected value [wacc]; codes [Email.user.email,Email.email,Email.java.lang.String,Email]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [user.email,email]; arguments []; default message [email],[Ljavax.validation.constraints.Pattern$Flag;@4708343e,.*]; default message [不是一个合法的电子邮件地址]] ",
"data": null
}