spring cloud Feign使用@RequestLine遇到的坑
Feign使用@RequestLine遇到的坑
如何在微服務(wù)項目中調(diào)用其它項目的接口試使用spring cloud feign聲明式調(diào)用。
/**
* 客戶端請去
* @author RAY
*
*/
@FeignClient(name="store",configuration=FooConfiguration .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 @FeignClientwhich uses Spring MVC annotations.

意思就是feign 默認使用的是spring mvc 注解(就是RequestMapping 之類的) ,所以需要通過新增一個配置類來修改其“契約”。
@Configuration
public class FooConfiguration {
@Bean
public Contract feignContract() {
return new feign.Contract.Default();
//使用feign自帶契約
}
}
PS : feignContract方法名不要跟一樣。否則啟動得時候會報錯。 得改一個跟類名不一樣得方法名!
@RequestLine的使用及配置
@RequestLine與其它請求不同,只需要簡單寫請求方式和路徑就能達到請求其它服務(wù)的目的。
@FeignClient(value = "feign-server",configuration = FeignConfig.class) //需要一個配置文件
public interface TestService {
@RequestLine("POST /feign/test") //對應(yīng)請求方式和路徑
String feign(@RequestBody UserDO userDO);
}
@EnableFeignClients
@SpringBootConfiguration
public class FeignConfig {
@Bean
public Contract contract(){
return new feign.Contract.Default();
}
}
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
深入淺析Random類在高并發(fā)下的缺陷及JUC對其的優(yōu)化
這篇文章主要介紹了Random類在高并發(fā)下的缺陷及JUC對其的優(yōu)化 ,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-04-04
Jenkins Host key verification failed問題解決
這篇文章主要介紹了Jenkins Host key verification failed問題解決,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-11-11
Spring?Boot日志SLF4J和Logback示例詳解
這篇文章主要介紹了Spring?Boot日志SLF4J和Logback詳解,Logback相比于Log4j,性能提高了10倍以上的性能,占用的內(nèi)存也變小了,并且文檔十分詳細,推薦使用Slf4j+Logback,需要的朋友可以參考下2023-07-07
Java封裝數(shù)組實現(xiàn)包含、搜索和刪除元素操作詳解
這篇文章主要介紹了Java封裝數(shù)組實現(xiàn)包含、搜索和刪除元素操作,結(jié)合實例形式分析了java針對數(shù)組元素的查找、刪除、判斷等相關(guān)操作封裝與使用技巧,需要的朋友可以參考下2020-03-03

