【SpringBoot实战篇】获取用户详细信息

news/2024/9/25 4:23:43/

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统一添加请求头

 


http://www.ppmy.cn/news/1427330.html

相关文章

多语言vue-i18n (vue2,uniapp)

安装vue-i18n npm install vue-i18n8 --save // npm install vue-i18n–save 9版本需要vue3.0 // 在vue2环境下&#xff0c;默认安装 npm install vue-i18n 的版本是 vue-i18n9.2.2&#xff0c; // 报错信息里提示这个版本要求是vue3&#xff0c;所以我们安装适合vue2版本的vu…

从入门到精通C++之类和对象(续)

目录 初始化列表构造函数&#xff1f;拷贝构造&#xff1f;浅谈explicit关键字友元 内部类static成员总结 初始化列表 引入初始化列表&#xff1a;简化代码&#xff0c;提高效率 在编程中&#xff0c;初始化列表是一种用于在创建对象时初始化成员变量的快捷方式。通过初始化列…

html select 支持内容过滤列表 -bootstrap实现

实现使用bootstrap-select插件 http://silviomoreto.github.io/bootstrap-select <!DOCTYPE html> <html> <meta charset"UTF-8"> <head><title>jQuery bootstrap-select可搜索多选下拉列表插件-www.daimajiayuan.com</title>&…

SQLite轻量级会话扩展(三十四)

返回&#xff1a;SQLite—系列文章目录 上一篇&#xff1a;SQLite R*Tree 模块&#xff08;三十三&#xff09; 下一篇&#xff1a;SQLite—系列文章目录 1. 引言 会话扩展提供了一种方便记录的机制 对 SQLite 数据库中某些表的部分或全部更改&#xff0c;以及 将这些…

【代理模式】静态代理-简单例子

在Java中&#xff0c;静态代理是一种设计模式&#xff0c;它涉及到为一个对象提供一个代理以控制对这个对象的访问。静态代理在编译时就已经确定&#xff0c;代理类和被代理类会实现相同的接口或者是代理类继承被代理类。客户端通过代理类来访问&#xff08;调用&#xff09;被…

linux离线安装mysql

一、下载mysql 地址&#xff1a;MySQL 这里选择64为还是32为要根据操作系统来 uname -m 二、上传解压配置mysql 使用root账户登录linux服务器&#xff0c;在opt文件下创建mysql文件夹 cd /opt sudo mkdir mysql 使用Xftp上传mysql压缩包到此文件夹下(自行决定路径) cd mysql/…

计算机网络 -- 多人聊天室

一 程序介绍和核心功能 这是基于 UDP 协议实现的一个网络程序&#xff0c;主要功能是 构建一个多人聊天室&#xff0c;当某个用户发送消息时&#xff0c;其他用户可以立即收到&#xff0c;形成一个群聊。 这个程序由一台服务器和n个客户端组成&#xff0c;服务器扮演了一个接受…

React中Toast 库推荐

react-hot-toast介绍 react-hot-toast是一个为 React 应用打造的轻量级、高度可定制的通知库。它不仅易于使用&#xff0c;而且默认样式美观&#xff0c;能够为 Web应用提供流畅的用户体验。可配置自定义操作&#xff0c;提示框持续时间&#xff0c;文本样式&#xff0c;图表样…