spring cloud Feign 使用 @RequestLine 注解遇到的问题
package com.itmuch.cloud; import org.springframework.cloud.netflix.feign.FeignClient; import com.itmuch.cloud.entity.User;
import com.itmuch.config.FeignConfiguration; import feign.Param;
import feign.RequestLine;
/**
* 客户端请去
* @author Administrator
*
*/
@FeignClient(name="microservice-provider-user",configuration=FeignConfiguration.class)
public interface UserFeignClient { @RequestLine("GET /simple/{id}")
public User findById(@Param("id") Long id); }
启动报错: Method getLinksForTrack not annotated with HTTP method type (ex. GET, POST)
网上百度下都是说 @RequestLine
is a core Feign annotation, but you are using the Spring Cloud @FeignClient
which uses Spring MVC annotations.
意思就是feign 默认使用的是spring mvc 注解(就是RequestMapping 之类的), 所以需要配置feign的Configuration ..
很显然我上面的代码显示我配置了 configuration ..
package com.itmuch.config; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import feign.Contract; @Configuration
public class FeignConfiguration { @Bean
public Contract feignConfiguration(){
return new feign.Contract.Default();
}
}
.. 但是还是会报错。。 最后发现 是 feignConfiguration 这个命名的问题,和 类名一样。。 我随便该了一个名字就可以正常启动了。。
可能是@Bean 的原因。。接下来我查了下:
@Bean是一个方法级别上的注解,主要用在@Configuration注解的类里,也可以用在@Component注解的类里。添加的bean的id为方法名。
注意 添加bean的 ID 是 方法名。
那么配置一个和 @Configuration 注解的类同名的 ID 名的 bean 有什么影响吗
<bean id="feignConfiguration" class="org.springframework.context.annotation.Configuration">
我觉得是spring 把 @Configuration 注解的类不注册到 spring 容器中,由于正好你定义的bean 的id 和 类名相同,导致spring没有注册该bean,
所以相当于没有配置启用feign 注解,所有报错。。
上面是我的猜测,知道的大神可以指教一下。
spring cloud Feign 使用 @RequestLine 注解遇到的问题的更多相关文章
- 笔记:Spring Cloud Feign Ribbon 配置
由于 Spring Cloud Feign 的客户端负载均衡是通过 Spring Cloud Ribbon 实现的,所以我们可以直接通过配置 Ribbon 的客户端的方式来自定义各个服务客户端调用的参 ...
- 笔记:Spring Cloud Feign Hystrix 配置
在 Spring Cloud Feign 中,除了引入了用户客户端负载均衡的 Spring Cloud Ribbon 之外,还引入了服务保护与容错的工具 Hystrix,默认情况下,Spring Cl ...
- 笔记:Spring Cloud Feign 其他配置
请求压缩 Spring Cloud Feign 支持对请求与响应进行GZIP压缩,以减少通信过程中的性能损耗,我们只需要通过下面二个参数设置,就能开启请求与响应的压缩功能,yml配置格式如下: fei ...
- 笔记:Spring Cloud Feign 声明式服务调用
在实际开发中,对于服务依赖的调用可能不止一处,往往一个接口会被多处调用,所以我们通常会针对各个微服务自行封装一些客户端类来包装这些依赖服务的调用,Spring Cloud Feign 在此基础上做了进 ...
- 第六章:声明式服务调用:Spring Cloud Feign
Spring Cloud Feign 是基于 Netflix Feign 实现的,整合了 Spring Cloud Ribbon 和 Spring Cloud Hystrix,除了提供这两者的强大功能 ...
- Spring Cloud Feign Ribbon 配置
由于 Spring Cloud Feign 的客户端负载均衡是通过 Spring Cloud Ribbon 实现的,所以我们可以直接通过配置 Ribbon 的客户端的方式来自定义各个服务客户端调用的参 ...
- Spring Cloud feign
Spring Cloud feign使用 前言 环境准备 应用模块 应用程序 应用启动 feign特性 综上 1. 前言 我们在前一篇文章中讲了一些我使用过的一些http的框架 服务间通信之Http框 ...
- RestTemplate OR Spring Cloud Feign 上传文件
SpringBoot,通过RestTemplate 或者 Spring Cloud Feign,上传文件(支持多文件上传),服务端接口是MultipartFile接收. 将文件的字节流,放入ByteA ...
- 第六章 声明式服务调用: Spring Cloud Feign
我们在使用 Spring Cloud Ribbon 时, 通常都会利用它对 RestTemplate 的请求拦截来实现对依赖服务的接口调用, 而 RestTemplate 已经实现了对 HTTP 请求 ...
随机推荐
- HLSL
[HLSL] 1.Direct3D 9 shaders can be designed using shader model 1, shader model 2 and shader model 3; ...
- display:none vs visibility:hidden
[display:none vs visibility:hidden] 设置元素的display为none是最常用的隐藏元素的方法. 1 .hide { 2 display:none; 3 } 将元素 ...
- smtp扫描
nc扫描 nc -nv ip号 25 nmap扫描
- 581. Shortest Unsorted Continuous Subarray
Given an integer array, you need to find one continuous subarray that if you only sort this subarr ...
- 关于CDh5.13.1 HDFS启用HA(High Availability)注意事情--(JournalNode 只有一个编辑路径)
原因为:主机名不能为域名.更换成hadoop64 这种解决.
- 分布式监控系统Zabbix-3.0.3-完整安装记录
由于采用sendmail发送邮件,常常会被认为是垃圾邮件被拒,所以不推荐这种方式!这里,针对zabbix报警信息的发送,可以采用下面两种方式中的任意一种:1)利用sendEmail程序来发送报警邮件. ...
- js导出excel:前端当前数据的导出
网上找的库文件,同样做了修改.在导出的时候,有时候数据第一列和最后一列可能是复选框和操作按钮,这个是我们不需要的,加了这个的过滤 //table2excel.js /* * jQuery table2 ...
- HA状态下防火墙损坏处理
问题描述: web登录防火墙管理地址,发现在 状态-系统信息 里集群成员只有一台原备机.到机房发现原主机只有power灯是亮着的,HA灯和status灯都不亮. 用笔记本直连防火墙的mgmt口不亮,c ...
- Python: 爬取百度贴吧图片
练习之代码片段,以做备忘: # encoding=utf8 from __future__ import unicode_literals import urllib, urllib2 import ...
- 893. Groups of Special-Equivalent Strings 奇数偶数位上的相同数
[抄题]: You are given an array A of strings. Two strings S and T are special-equivalent if after any n ...