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 { @NotNull private Integer id;//主键ID private String username;//用户名 @JsonIgnore//让springmvc把当前对象转换成json字符串的时候,忽略password,最终的json字符串中就没有password这个属性了 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;//更新时间 }
5 测试
因为@JsonIgnore,这里效果里不显示password
5.1 postman统一添加请求头