nacos整合feign入門加踩過的坑

2021-10-14 02:02:25 字數 2539 閱讀 1139

}productservice省略

feignservice

value就是nacos註冊的名字

@feignclient

(value =

"netsadcloud-pms"

)public

inte***ce

feignservice

controller

/**

* @author: boss

* date: 2020/12/31

* time: 8:50

* description:

*/@api

(tags =

)@slf4j

@restcontroller

("/order"

)public

class

ordercontroller

", json.

tojsonstring

(productid));

trycatch

(exception e)

",e.

getmessage()

);}throw

newmyexception

(errorcode.feign_error);}

}

1.debug的時候feign超時

feign呼叫時讀取超時(read timed out executing get)解決

解決方式(很多人比較關注,所以放在最前面):

因為feign呼叫預設的超時時間為一分鐘,一分鐘介面不能返回就會丟擲異常,所以在服務端的yml檔案中增加如下配置即可解決:

feign:

client:

config:

default

: connecttimeout:

10000

readtimeout:

600000

2.返回物件沒有無參建構函式

feign.codec.decodeexception: type definition error: [****** type, class com.freegift.utilspringbootstarter.model.vo.responsevo]; nested exception is com.fasterxml.jackson.databind.exc.invaliddefinitionexception: cannot construct instance ofcom.freegift.utilspringbootstarter.model.vo.responsevo(no creators, like default constructor, exist): cannot deserialize from object value (no delegate- or property-based creator)

at [source: (pushbackinputstream); line: 1, column: 2]

原因:json反序列化話需要對應實體類有無參構造器。

responsevo加入無參建構函式

返回值jackson序列化注意點:

被 序列化/反序列化 的實體

a. 必須要有無參構造方法

b.欄位要有set/get方法

c. 不需要序列化的字段 可以用@jsonignore 修飾

3.關於feignclient呼叫get方法,無法傳遞引數的解決辦法

feignclient 在進行遠端呼叫的時候,get方法在接受的時候會將引數放入requestbody中,將方法轉為了post請求,這樣服務端就無法獲取請求引數,導致請求出錯,所以我們在傳遞自定義引數的時候,需要將每個屬性拆解出來加上@requestparam 註解,這樣的話就可以正常請求了,而且我們沒必要將每乙個屬性都寫入,只需要將我們所需要的引數加上即可

springboot配置 整合nacos

nacos倉庫 nacos介紹文件 nacos使用例子 springboot nacos consumer springboot nacos 匯入nacos mysql.sql 啟動nacos 控制台 1 配置發布2種方式 呼叫openapi 控制台操作 2 新建命名空間 3 不同namespace...

Nacos整合Dubbo服務

windows系統下啟動nacos 解壓開windows的zip包之後,在bin目錄下找到startup.cmd指令碼雙擊啟動。startup.sh是linux系統下的啟動指令碼。啟動完成之後,可以通過訪問localhost 8848 預設使用者名稱 密碼 nacos nacos 進如nacos的控...

springcloud整合nacos配置中心

一 新增依賴 com.alibaba.cloud groupid spring cloud starter alibaba nacos config artifactid version dependency 建立bootstrap.yml配置檔案,並設定註冊中心位址,如果nacos也作為註冊中心的...