找回密码
 立即注册
查看: 4|回复: 0

27,实体参数校验

[复制链接]

231

主题

6

精华

235

金币

技术维护QQ:515138

积分
500
发表于 昨天 09:34 | 显示全部楼层 |阅读模式
1.jpg

1,确保有依赖:
  1. <!--数据校验依赖-->
  2.         <dependency>
  3.             <groupId>org.springframework.boot</groupId>
  4.             <artifactId>spring-boot-starter-validation</artifactId>
  5.         </dependency>
复制代码
2,实体类添加注解:
  1. package com.jinhei.pojp;
  2. import com.fasterxml.jackson.annotation.JsonIgnore;
  3. import jakarta.validation.constraints.Email;
  4. import jakarta.validation.constraints.NotEmpty;
  5. import jakarta.validation.constraints.NotNull;
  6. import jakarta.validation.constraints.Pattern;
  7. import lombok.AllArgsConstructor;
  8. import lombok.Data;
  9. import lombok.NoArgsConstructor;
  10. import java.time.LocalDateTime;
  11. @Data
  12. @AllArgsConstructor
  13. @NoArgsConstructor
  14. public class User {
  15.     @NotNull
  16.     private Integer id;//主键ID
  17.     private String username;//用户名
  18.     @JsonIgnore//让springmvc把当前对象转换成json字符串的时候,忽略password,最终的json字符串中就没有password这个属性了
  19.     private String password;//密码
  20.     @NotEmpty
  21.     @Pattern(regexp = "^[a-zA-Z0-9_-]{3,16}$")
  22.     private String nickname;//昵称
  23.     @NotEmpty
  24.     @Email
  25.     private String email;//邮箱
  26.     private String userPic;//用户头像地址
  27.     private LocalDateTime createTime;//创建时间
  28.     private LocalDateTime updateTime;//更新时间
  29. }
复制代码
3,控制层添加注解:
  1. package com.jinhei.controller;
  2. import com.jinhei.pojp.Result;
  3. import com.jinhei.pojp.User;
  4. import com.jinhei.service.UserService;
  5. import com.jinhei.utils.JwtUtils;
  6. import com.jinhei.utils.Md5Util;
  7. import com.jinhei.utils.ThreadLocalUtil;
  8. import jakarta.validation.constraints.Pattern;
  9. import lombok.extern.slf4j.Slf4j;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.validation.annotation.Validated;
  12. import org.springframework.web.bind.annotation.*;
  13. import java.util.HashMap;
  14. import java.util.Map;
  15. /**
  16. * 用户相关接口
  17. */
  18. @RestController
  19. @RequestMapping("/user")
  20. @Slf4j
  21. @Validated
  22. public class UserController {
  23.     @Autowired
  24.     private UserService userService;
  25.     /**
  26.      * 修改用户信息
  27.      */
  28.     @PutMapping("/update")
  29.     public Result update(@RequestBody @Validated User user) {
  30.         userService.update(user);
  31.         return Result.success();
  32.     }
  33. }
复制代码
【细节】限制是url链接的注解 @URL
  1.     /**
  2.      * 修改用户头像
  3.      */
  4.     @PatchMapping("/updateAvatar")
  5.     public Result updateAvatar(@RequestParam @URL String avatarUrl) {
  6.         userService.updateAvatar(avatarUrl);
  7.         return Result.success();
  8.     }
复制代码




上一篇:26,获得当前时间日期LocalDateTime.now()
下一篇:28,判断是否相等equals
网站建设,公众号小程序开发,系统定制,软件App开发,技术维护【联系我们】手机/微信:17817817816 QQ:515138

QQ|Archiver|自丢网 ( 粤ICP备2024252464号-1 )

GMT+8, 2026-3-3 06:50

专注于网站建设,公众号小程序制作,商城小程序,系统定制,软件App开发

【联系我们】手机/微信:17817817816 QQ:515138

快速回复 返回顶部 返回列表