• kust-retrieve服务
@Resource
private AuthFeignService authFeignService; @ApiOperation("获取用户信息")
@GetMapping("/get/user")
public ResponseEntity<UserMsgDTO> getUserName(HttpServletRequest request){
String token = request.getHeader("token");
UserMsgDTO userMsg = authFeignService.getUserMsg(token);
log.info("userMsg -> {}", userMsg);
return Results.success(userMsg);
} @FeignClient("kust-auth")
public interface AuthFeignService {
@GetMapping("/auth/get/user")
UserMsgDTO getUserMsg(String jwtToken);
}
  • kust-auth服务
@ApiOperation("获取token中的用户名信息")
@GetMapping("/get/user")
public UserMsgDTO getUserMsg(String jwtToken){
log.info("jwtToken -> {}", jwtToken);
return JwtUtils.getUSerNameByJwtToken(jwtToken);
}
  • kust-retrieve服务报错如下:

    feign.FeignException$MethodNotAllowed: status 405 reading AuthFeignService#getUserMsg(String)
  • kust-auth服务报错如下:

    Resolved [org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'POST' not supported]
  • 原因:在feign接口中没指定请求参数的位置,参数:"String jwtToken" 会被默认封装到请求体中,feign在传递请求时会检查请求体是否为空,不为空就将Get请求转为Post,而接受的服务kust-auth中的方法是Get,自然会报错405
  • 解决如下:使用@RequestParam("jwtToken") 明确参数的位置,注意:括号中的字符串必须写,不然启动报错
@FeignClient("kust-auth")
public interface AuthFeignService {
@GetMapping("/auth/get/user")
UserMsgDTO getUserMsg(@RequestParam("jwtToken") String jwtToken);
}
  • 再次启动,可以正常拿到数据

    2022-01-25 11:28:43.577 INFO 16236 --- [nio-9001-exec-9] com.kust.search.api.v1.TokenController : userMsg -> UserMsgDTO(id=4, name=刘小胖同学)

最新文章

  1. 手把手教从零开始在GitHub上使用Hexo搭建博客教程(一)-附GitHub注册及配置
  2. ANDROID_HOME on Mac OS X
  3. 使用VS GDB扩充套件在VS上远端侦错Linux上的C/C++程序
  4. 【nginx】常见的陷阱和错误
  5. 2.前端笔记之css
  6. Android 6.0删除Apache HttpClient相关类的解决方法
  7. Bridging signals---hdu1950(最长上升子序列复杂度n*log(n) )
  8. EasyUi datagrid 表格分页例子
  9. Sql FAQ
  10. Tabhost嵌套以及Tab中多个Activity跳转的实现
  11. SQLite使用报告
  12. WPF自学笔记
  13. 使用sklearn进行数据挖掘-房价预测(2)—划分测试集
  14. MySQL中union和order by一起使用的方法
  15. TreeMap倒序以及遍历
  16. 练习:javascript淡入淡出半透明效果
  17. Linux i2c子系统(二) _通过i2c-dev.c访问设备的方法
  18. shiro源码篇 - shiro的session共享,你值得拥有
  19. 论文笔记之:Optical Flow Estimation using a Spatial Pyramid Network
  20. [工具]Tomcat CVE-2017-12615 远程代码执行

热门文章

  1. 基于python的数学建模---轮廓系数的确定
  2. SpringCLoud_Aibaba
  3. 卸载virtualbox中linux虚拟机的增强工具
  4. Python: 你所不知道的星号 * 用法
  5. FCOS论文复现:通用物体检测算法
  6. 基于opencv实现简单人脸检测
  7. 网络基础与osi七层与TCP/IP协议
  8. SQLMap入门——获取当前网站数据库的名称
  9. Django 之swagger中尝试调试post请求时返回 &quot;detail&quot;: &quot;JSON parse error - Expecting value: line 1 column 1 (char)
  10. python实验报告(第11章)