yb课堂之个人信息接口开发 《十三》
根据token从查询个人信息接口开发
- 直接解密token,获取个人信息
- 通过token解密查询数据库获取个人信息
UserController.java
package net.ybclass.online_ybclass.controller; import net.ybclass.online_ybclass.model.entity.User;
import net.ybclass.online_ybclass.model.request.LoginRequest;
import net.ybclass.online_ybclass.service.UserService;
import net.ybclass.online_ybclass.utils.JsonData;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest;
import java.util.Map; @RestController
@RequestMapping("/api/v1/pri/user")
public class UserController {
@Autowired(required = false)
private UserService userService; /**
* 注册接口
* @param userInfo
* @return
*/
@PostMapping("register")
public JsonData register(@RequestBody Map<String,String> userInfo){
return userService.save(userInfo)==1?JsonData.buildSuccess():JsonData.buildError("注册失败,请重试");
}
@PostMapping("find_phone")
public JsonData findByPhone(@Param("phone") String phone){
return JsonData.buildSuccess(userService.findByPhone(phone));
} /**
* 登陆接口
* @param loginRequest
* @return
*/
@PostMapping("login")
public JsonData login(@RequestBody LoginRequest loginRequest){
String token = userService.findByPhoneAndPwd(loginRequest.getPhone(),loginRequest.getPwd());
return token==null?JsonData.buildError("登陆失败,账号密码错误"):JsonData.buildSuccess(token);
} /**
* 根据用户id查询用户信息
* @param request
* @return
*/
@GetMapping("find_by_token")
public JsonData findUserInfoByToken(HttpServletRequest request){
Integer userId=(Integer) request.getAttribute("user_id");
if (userId==null) return JsonData.buildError("查询失败");
User user =userService.findByUserId(userId);
return JsonData.buildSuccess(user);
}
}
UserService.java
UserServiceImpl.java
UserMapper.java
UserMapper.xml
演示
yb课堂之个人信息接口开发 《十三》的更多相关文章
- FastAPI(六十八)实战开发《在线课程学习系统》接口开发--用户 个人信息接口开发
在之前的文章:FastAPI(六十七)实战开发<在线课程学习系统>接口开发--用户登陆接口开发,今天实战:用户 个人信息接口开发. 在开发个人信息接口的时候,我们要注意了,因为我们不一样的 ...
- FastAPI(六十九)实战开发《在线课程学习系统》接口开发--修改密码
之前我们分享了FastAPI(六十八)实战开发<在线课程学习系统>接口开发--用户 个人信息接口开发.这次我们去分享实战开发<在线课程学习系统>接口开发--修改密码 我们梳理一 ...
- python学习笔记(十三)接口开发
一.开发接口的作用 1.mock接口,模拟一些接口,在别的接口没有开发好的时候,需要开发一些模拟接口进行调试和测试. 2.查看数据,比如,获取所有学员信息的接口,就不需要提供数据库的查看信息. 二.接 ...
- FastAPI(七十三)实战开发《在线课程学习系统》接口开发-- 回复留言
之前文章分享FastAPI(七十二)实战开发<在线课程学习系统>接口开发-- 留言列表开发,这次我们分享如何回复留言 按照惯例,我们还是去分析这里面的逻辑. 1.判断用户是否登录 2.用户 ...
- 《连载 | 物联网框架ServerSuperIO教程》- 13.自定义视图显示接口开发,满足不同的显示需求
1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...
- 浅谈 PHP 与手机 APP 开发(API 接口开发) -- 转载
转载自:http://www.thinkphp.cn/topic/5023.html 这个帖子写给不太了解PHP与API开发的人 一.先简单回答两个问题: 1.PHP 可以开发客户端? 答:不可以,因 ...
- 支付宝WAP支付接口开发(Node/Coffee语言)
此博客不更新很久了, 更新的文档在这, 有兴趣到这里围观: http://neutra.github.io/2013/%E6%94%AF%E4%BB%98%E5%AE%9DWAP%E6%94%AF%E ...
- C#微信公众号接口开发,灵活利用网页授权、带参数二维码、模板消息,提升用户体验之完成用户绑定个人微信及验证码获取
一.前言 当下微信公众号几乎已经是每个公司必备的,但是大部分微信公众账号用户体验都欠佳,特别是涉及到用户绑定等,需要用户进行复杂的操作才可以和网站绑定,或者很多公司直接不绑定,而是每次都让用户填写账号 ...
- APP数据接口开发的一些经验
刚接到这样的任务时,没有感觉到任何压力,不就是给移动端应用提供数据吗?那边发来参数,这边处理数据,返回JSON.做网站开发时经常使用ajax请求后台数据,不就是这么回事吗.于是,在确认完需求后就开始干 ...
- 浅谈 PHP 与手机 APP 开发(API 接口开发)
本文内容转载自:http://www.thinkphp.cn/topic/5023.html 这个帖子写给不太了解PHP与API开发的人一.先简单回答两个问题:1.PHP 可以开发客户端?答:不可以, ...
随机推荐
- Windows 上安装 PostgreSQL详细图文教程
转载于微信公众号:SQL数据库运维,如需转载请注明出处,谢谢! PostgreSQL 的 Slogan 是 "世界上最先进的开源关系型数据库". 这里使用 Enterprise D ...
- 80x86汇编—汇编程序基本框架
文章目录 First Program 指令系统 伪指令 数值表达式 程序框架解释 int 21 中断 通过一个基本框架解释各个指令和用处,方便复习.所以我认为最好的学习顺序就是先看一段完整的汇编代码程 ...
- 【漏洞复现】用友NC uapjs RCE漏洞(CNVD-C-2023-76801)
产品介绍 用友NC是一款企业级ERP软件.作为一种信息化管理工具,用友NC提供了一系列业务管理模块,包括财务会计.采购管理.销售管理.物料管理.生产计划和人力资源管理等,帮助企业实现数字化转型和高效管 ...
- Laravel 模块化开发模块 – Caffienate
Laravel多模块配置 1. 安装对应版本"caffeinated/modules" composer require caffeinated/modules 相应版本号 L ...
- 鸿蒙HarmonyOS实战-Stage模型(信息传递载体Want)
前言 应用中的信息传递是为了实现各种功能和交互.信息传递可以帮助用户和应用之间进行有效的沟通和交流.通过信息传递,应用可以向用户传递重要的消息.通知和提示,以提供及时的反馈和指导.同时,用户也可以通过 ...
- 工作流Activiti 迁移 Camunda
后端操作 意思就是: ①更改maven②改包名.类名③改bpmn model中语法④检查迁移后有哪些功能缺失了 1.更改maven 改为 2.换包名.类名 意思就是将 org.activiti.* ...
- RTMP协议中的Chunk Stream ID (CID)的作用
一.协议分层 RTMP包是以Message的结构封装的,结构如下所示: 1)Message Type ID在1-7的消息用于协议控制,这些消息一般是RTMP协议自身管理要使用的消息,用户一般情况下无需 ...
- 使用sysdig查看容器里的系统调用
目录 一.系统环境 二.前言 三.系统调用简介 四.Sysdig简介 五.使用sysdig查看容器里的系统调用 5.1 以二进制包的形式安装sysdig 5.2 使用sysdig查看容器里的系统调用 ...
- 使用jasypt对springboot配置信息加密
1.pom文件增加依赖 <dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactI ...
- k8s——核心概念篇
服务的分类 有状态 代表应用 nginx apache 优点 对客户端透明,无依赖关系,可以高效实现扩容,迁移 缺点 不能存储数据,需要额外的数据服务支撑 无状态 代表应用 MYSQL Redis 优 ...