更新用户基本信息
update接口
UserController
// 更新用户信息
@PutMapping("/update")
public Result update(@RequestBody User user){
userService.update(user);
return Result.success();
}
UserService
void update(User user);
UserServiceImpl
@Override
public void update(User user) {
user.setUpdateTime(LocalDateTime.now());
userMapper.update(user);
}
UserMapper
// 更新
@Update("update user set email=#{email},update_time=#{updateTime} where id=#{id}")
void update(User user);
更新信息的校验
之前的校验是对参数的校验,那么对实体对象该如何校验呢?
1.在实体类对象上添加注解
@NotNull 值不能为空
@NotEmpty 值不能为空,且内容不能为空(不能为空字符串)
@Email 满足邮箱格式
@Data
public class User {
@NotNull
private Integer id;//主键ID
private String username;//用户名
@JsonIgnore//让springmvc把当前对象转换为JSON字符串的时候,忽略password,最终的json字符串中没有password这个属性了
private String password;//密码
private String nickname;//昵称
@NotEmpty
@Email
private String email;//邮箱
private String userPic;//用户头像地址
private LocalDateTime createTime;//创建时间
private LocalDateTime updateTime;//更新时间
}
2.在对应的使用实体对象的地方前加@Validated注解
// 更新用户信息
@PutMapping("/update")
public Result update(@RequestBody @Validated User user){
userService.update(user);
return Result.success();
}