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