微服务 Feign 405
最近在使用微服务遇到一个feign 405的问题,一直很困惑,提出来希望大神们指导一二。
我们用的是springCloud的openFeign:
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
feign:
@PostMapping(value = "/automatic_sign_for", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)void automaticSignFor() throws Exception;
Controller:
@ApiOperation(value = "Automatic sign for orders that have no sign in status information in a period of time after delivery",tags = {"Automatic sign for APIs"}, nickname = "Automatic sign for")@ApiResponses(value = {@ApiResponse(code = 200, message = "Succ"),@ApiResponse(code = 401, message = "You are not authorized to access to this API"),@ApiResponse(code = 403, message = "Accessing the resource you were trying to reach is forbidden"),@ApiResponse(code = 404, message = "The resource you were trying to reach is not found")})@PostMapping(value = "/automatic_sign_for", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)public void automaticSignFor() throws Exception {shippingTaskService.automaticSignFor();}
调用:
@Resourceprivate IShippingTaskFeign shippingTaskFeign;@Testpublic void automaticSignForFeignTest() throws Exception {shippingTaskFeign.automaticSignFor();}
然后报错如下:
feign.FeignException: status 405 reading IShippingTaskFeign#automaticSignFor()at feign.FeignException.errorStatus(FeignException.java:78)at feign.codec.ErrorDecoder$Default.decode(ErrorDecoder.java:93)at feign.SynchronousMethodHandler.executeAndDecode(SynchronousMethodHandler.java:149)at feign.SynchronousMethodHandler.invoke(SynchronousMethodHandler.java:78)at feign.ReflectiveFeign$FeignInvocationHandler.invoke(ReflectiveFeign.java:103)at com.sun.proxy.$Proxy192.automaticSignFor(Unknown Source)at ShiphubTaskTest.automaticSignForTest(ShiphubTaskTest.java:38)at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.base/java.lang.reflect.Method.invoke(Method.java:567)at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)at org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74)at org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84)at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251)at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)at org.junit.runners.ParentRunner.run(ParentRunner.java:363)at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)at org.junit.runner.JUnitCore.run(JUnitCore.java:137)at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
在网上查了两种feign 405 的相关解决方法:
- 在Feign调用的时候,接收的参数加上@Requestparam注解;但是我们这个方法没有参数,所以不适用。而且我加上了一个没用的参数后也是行不通的。
- 使用 github 的 feign-httpclient 替换 feign默认的httpclient:
<dependency><groupId>io.github.openfeign</groupId><artifactId>feign-httpclient</artifactId><version>10.4.0</version></dependency>
但还是不好使。
请大神指教!
微服务 Feign 405相关推荐
- 简单的微服务feign之间调用授权/安全验证
不会写开头,就这样吧~ 我想让使用这个验证组件开发者配置越少越好 所以我使用了注解 类似于springboot的自动装配类 创建@EnableSecurityAuth注解作用于在application ...
- [Spring cloud 一步步实现广告系统] 11. 使用Feign实现微服务调用
上一节我们使用了Ribbon(基于Http/Tcp)进行微服务的调用,Ribbon的调用比较简单,通过Ribbon组件对请求的服务进行拦截,通过Eureka Server 获取到服务实例的IP:Por ...
- feign响应拦截_[Spring cloud 一步步实现广告系统] 11. 使用Feign实现微服务调用
上一节我们使用了Ribbon(基于Http/Tcp)进行微服务的调用,Ribbon的调用比较简单,通过Ribbon组件对请求的服务进行拦截,通过Eureka Server 获取到服务实例的IP:Por ...
- SpringCloud(第 016 篇)电影微服务,定制Feign,一个Feign功能禁用Hystrix,另一个Feign功能启用Hystrix...
2019独角兽企业重金招聘Python工程师标准>>> SpringCloud(第 016 篇)电影微服务,定制Feign,一个Feign功能禁用Hystrix,另一个Feign功能 ...
- SpringCloud(第 017 篇)电影微服务接入Feign,添加 fallbackFactory 属性来触发请求进行容灾降级...
2019独角兽企业重金招聘Python工程师标准>>> SpringCloud(第 017 篇)电影微服务接入Feign,添加 fallbackFactory 属性来触发请求进行容灾 ...
- 微服务feignclient_[Spring cloud 一步步实现广告系统] 11. 使用Feign实现微服务调用
上一节我们使用了Ribbon(基于Http/Tcp)进行微服务的调用,Ribbon的调用比较简单,通过Ribbon组件对请求的服务进行拦截,通过Eureka Server 获取到服务实例的IP:Por ...
- 微服务秒杀项目整合网关+feign+redis分离热点商品分别下单示例
文章目录 配置文件和通用文件 通用结果类型: 返回码: 统一异常处理: 网关 feign服务 redission配置 controller service:热点商品和普通商品分开下单 消息队列监听订单 ...
- 使用feign调用注解在eureka上的微服务,简单学会微服务
使用feign调用注解在eureka上的微服务. 首先,确保所有服务(调用方与被调用方)都被注册在同一个eureka服务上. 1. 在调用方添加依赖(万事第一步,加依赖) <dependency ...
- springcloud feign 服务调用其他服务_springCloud微服务项目 构建公共的feign调用
在微服务项目中加入有一个微服务的接口,很多其他的微服务都需要调用它,那么我们可以写在公共的项目中,而不需要每个微服务都建立一个相应 的feign 1.先在common 公共项目中建一个公共feign调 ...
最新文章
- 在线作图|如何绘制一张好看的点棒图
- 安卓学习-界面-布局-FrameLayout
- 万字归纳总结 | 数据库表设计与SQL编写技巧
- golang json判断类型
- 腾讯第一大股东 Prosus 18亿美元收购 StackOverFlow
- JSP 页面 嵌入 google API 地图
- 清除计算机垃圾cmd命令,cmd清理垃圾命令代码是什么
- 数学符号——指示函数(样子像空心的1的一个数学符号)
- 小米路由mini刷潘多拉及老毛子固件-详细教程
- JAVA字符串格式化-String.format()的使用总结
- 计算机主板性能参数,影响电脑性能的硬件参数之主板
- McAfee解读风险管理之道 企业安全面临新挑战
- 你所不知的米聊和微信的前身——酷啦啦
- 微信 8.0 「裂开」「炸弹」的特效代码来了
- 【Linux】进程信号
- springboot自动创建Oracle,一键生成项目 SpringBoot项目代码生成器 支持Oracle 支持MySql...
- 数据预处理(纯干货,适合小白学习)
- 操作系统安装和u盘认识
- 记录安装Ubuntu Server 17.04, 安装hwinfo 失败的解决办法
- 热水IC卡预付费充值系统
热门文章
- Codeforces Round #626(Div.2) 解题报告
- 已经发车的票还能取出来吗_火车开车后还能取票吗
- 写一篇进入“航校”半年,校园学习生活的心得体会和收获感悟,要求字数不少于500字...
- Maven中scope标签的作用
- 开启springcloud全家桶:springcloud常见面试题
- bilibili2020 1024ctf安全挑战赛(上)
- iOS 11.2 最新真机测试包(12.05)
- 背包问题(分支限界法)
- 中国象棋男女冠军贺兰山下上演“龙凤弈”
- 灰色相关性matlab程序,灰色关联度分析MATLAB程序