SpringCloud Feign引數傳遞問題

2021-09-12 16:27:59 字數 985 閱讀 9849

前言:

1.feign不支援get方法傳遞pojo

spring mvc 不支援繼承介面中方法引數上的註解(支援繼承類、方法上的註解),所以使用feign呼叫介面時無法直接傳遞pojo

解決方式1

/**

* @author wx

* 呼叫訂單服務

*/@feignclient("pay-order") //服務名

public inte***ce orderservice

解決方式2

2. feign呼叫get請求介面傳遞多個引數 @requestparma(「引數名」)

注意: 使用@requestparam註解時必須要在後面加上引數名,與前台傳來的name一致。

缺點:此種方式若引數過多,會非常繁瑣,**可讀性差。

@feignclient("pay-order")   //服務名

public inte***ce orderservice

注意:@requestparma("currpage") 中的currpage是外部識別的引數名 string currpage是用來接收值的

3. feign呼叫get請求介面傳遞單個引數 @pathvariable

使用@pathvariable可以用來對映url中的佔位符到目標方法的引數中

@feignclient("pay-order")   //服務名

public inte***ce orderservice

4. feign呼叫post請求介面傳遞物件(pojo) @requestbody
@feignclient("pay-order")   //服務名

public inte***ce orderservice

注意:提供者的介面引數也應該使用@requestbody註解

如何使用feign構造多引數的請求

SpringCloud Feign引數傳遞問題記錄

物件傳遞 requestbody required false 不支援多物件傳遞,至少我目前發現是這樣的,如有錯誤或者改進的方法請提出 api層 feignclient value transaction feign public inte ce transactionapiservice介面層 交...

Spring Cloud Feign 構造引數請求

假設我們請求的url包含多個引數,例如http microservice provider user get?id 1 username 張三 要怎麼辦呢?我們知道spring cloud為feign新增了spring mvc的註解支援,那麼我們不妨按照spring mvc的寫法嘗試一下 feign...

SpringCloud Feign 引數問題

今天遇到使用feign呼叫微服務,傳遞引數時遇到幾個問題 1.無引數 以get方式請求 服務提供者 public string hello 服務消費者 string hello 2.單個引數 1 get pathvariable 服務提供者 public string test pathvariab...