Spring Cloud Openfeign Get请求发生405错误
- 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=刘小胖同学)
Spring Cloud Openfeign Get请求发生405错误的更多相关文章
- Spring Cloud OpenFeign使用教程
文章目录 Spring Cloud OpenFeign Demo 怎么配置OpenFeignServer 怎么配置OpenFeignClient 多个参数传递问题 FeignClient的日志问题 多 ...
- SpringCloud升级之路2020.0.x版-29.Spring Cloud OpenFeign 的解析(1)
本系列代码地址:https://github.com/JoJoTec/spring-cloud-parent 在使用云原生的很多微服务中,比较小规模的可能直接依靠云服务中的负载均衡器进行内部域名与服务 ...
- Spring Cloud Gateway修改请求和响应body的内容
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- 微服务生态组件之Spring Cloud OpenFeign详解和源码分析
Spring Cloud OpenFeign 概述 Spring Cloud OpenFeign 官网地址 https://spring.io/projects/spring-cloud-openfe ...
- 无法完成你的itunes store 请求发生未知错误50
装上itunes登陆itunes store时遂发现"无法完成您的itunes store的请求,发生未知错误(-50)"跃入眼帘,卸载重装数次还是不见效果,难道是WIN7和itu ...
- Feign 系列(05)Spring Cloud OpenFeign 源码解析
Feign 系列(05)Spring Cloud OpenFeign 源码解析 [TOC] Spring Cloud 系列目录(https://www.cnblogs.com/binarylei/p/ ...
- Spring Cloud Gateway 之请求坑位[微服务IP不同请求会失败]
问题产生背景 在使用Spring Cloud Gateway过程中,希望配置多Routes映射不同的微服务,因为Gateway 和Zuul的访问路径不同(zuul 会带有服务service Id),造 ...
- 为Spring Cloud Ribbon配置请求重试(Camden.SR2+)
当我们使用Spring Cloud Ribbon实现客户端负载均衡的时候,通常都会利用@LoadBalanced来让RestTemplate具备客户端负载功能,从而实现面向服务名的接口访问. 下面的例 ...
- 阿里高级架构师教你如何使用Spring Cloud Ribbon重试请求
在微服务调用中,一些微服务圈可能调用失败,通过再次调用以达到系统稳定性效果,本文展示如何使用Ribbon和Spring Retry进行请求再次重试调用. 在Spring Cloud中,使用load b ...
- Spring Cloud OpenFeign的原理(六)
通过上篇我们了解OpenFeign他也可以完成远程通信,但是它并不是真正义意上的RPC通信,因为他是通过封装代理来实现的,下面和以前一样,知道了怎么用就来看下他是怎么实现的. 一.思考Feign要做的 ...
随机推荐
- 单节点部署 gpmall 商城
个人名片: 对人间的热爱与歌颂,可抵岁月冗长 Github:念舒_C.ying CSDN主页️:念舒_C.ying 个人博客 :念舒_C.ying 1 修改主机名: [root@localhost ...
- 基于python的数学建模---场线与数值解(微分方程)
import numpy as np from scipy import integrate import matplotlib.pyplot as plt import sympy def plot ...
- 第2-3-7章 个人网盘服务接口开发-文件存储服务系统-nginx/fastDFS/minio/阿里云oss/七牛云oss
目录 5.8 导入其他接口代码 5.8.1 接口导入-分页查询附件 5.8.2 接口导入-根据业务类型/业务id查询附件 5.9 导入网盘服务接口 5.9.1 导入FileController 5.9 ...
- PHY驱动调试之 ---PHY设备驱动(三)
1. 前言 内核版本:linux 4.9.225,以freescale为例.(部分内容待修改和补充,不一定准确) 2. 概述 上一篇文章讲了控制器的驱动使用的是platform总线的连接方式,本节要讲 ...
- day42 6-5 springMVC调度器、ModelAndView、配置thymeleaf模板引擎 & 6-6 thymeleaf语法 & 6-7 springMVC拦截器 & 6-8 设置请求编码过滤器Filter
springMVC调度器 - DispatcherServlet - SpringMVC框架的入口 定义 DispatcherServlet成为调度器,配置在web.xml文件中,用于拦截匹配的请求. ...
- 前端入门 HTTP协议 HTML简介 head内常见标签 body内常见标签 特殊符号 列表标签 表格标签 表单标签
目录 前端和后端的概念 前端前戏之B/S架构 数据交互的协议 HTTP协议 1.四大特性 1. 基于请求响应 2. 基于TCP.IP作用与应用层之上的协议 3. 无状态 4. 无\短连接 2.数据格式 ...
- salesforce零基础学习(一百二十三)Transaction Security 浅入浅出
本篇参考: https://help.salesforce.com/s/articleView?id=sf.enhanced_transaction_security_policy_types.htm ...
- Windows搭建Git服务器
Windows如何搭建Git服务器 1.安装java环境 (1)下载安装java 注意(java的版本需要在1.7及以上) (2)配置java的环境变量 (3)检验java环境是否安装成功 2.下载安 ...
- selenium 之可视模式、静默模式、忽略证书不可用的设置
1.可视模式的设置(在前台工作) from selenium import webdriver import time url = "https://y.qq.com/n/ryqq/song ...
- Ng-Matero v15 正式发布
前言 Angular 按照既定的发版计划在 11 月中旬发布了 v15 版本.推迟了一个月(几乎每个版本都是这个节奏),ng-matero 也终于更新到了 v15.其实 ng-matero 本身的更新 ...