1 明确需求
1需要获取用户详细信息
2 接口文档
1基本信息
2请求参数
无
3 响应数据
响应数据类型:application/json
响应参数说明:
响应数据样例
3 思路分析
1用户名在请求头里获取
4 开发
4.1 控制器usercontroller
@GetMapping("/userInfo")public Result<User> userInfo(@RequestHeader(name = "Authorization") String token) {//根据用户名查询用户Map<String, Object> map = JwtUtil.parseToken(token);String username = (String) map.get("username");User user = userService.findByUserName(username);return Result.success(user);}
4.2配置文件application.yal ——开启命名转换
开启驼峰命名(对象属性)和下划线(数据库属性名)命名的自动转换
mybatis:configuration:map-underscore-to-camel-case: true #开启驼峰命名和下划线命名的自动转换
4.3@JsonIgnore
//让springmvc把当前对象转换成json字符串的时候,忽略password,最终的json字符串中就没有password这个属性了
public class User {@NotNullprivate Integer id;//主键IDprivate String username;//用户名@JsonIgnore//让springmvc把当前对象转换成json字符串的时候,忽略password,最终的json字符串中就没有password这个属性了private String password;//密码@NotEmpty@Pattern(regexp = "^\\S{1,10}$")private String nickname;//昵称@NotEmpty@Emailprivate String email;//邮箱private String userPic;//用户头像地址private LocalDateTime createTime;//创建时间private LocalDateTime updateTime;//更新时间 }
5 测试
因为@JsonIgnore,这里效果里不显示password
5.1 postman统一添加请求头