1. 程式人生 > 實用技巧 >yb課堂之個人資訊介面開發 《十三》

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

演示