關於feign呼叫的異常

2022-09-07 19:24:14 字數 961 閱讀 1995

feign宣告式呼叫服務 feign.codec.decodeexception: error while extracting response for type [class **] and...

日前在做專案時候遇到feign呼叫出現返回亂碼,導致程式出錯事件。原因是因為cloud的依賴版本過低,feign不支援 gzip 解碼。在不公升級jar的情況下,增加了乙個過濾器。 

**如下:

public class feignresponsedecoder implements decoder 

@override

public object decode(response response, type type) throws ioexception

//decompression part

//after decompress we are delegating the decompressed response to default

//decoder

if (iscompressed(compressed))

response uncompressedresponse = response.tobuilder().body(output.tostring().getbytes()).build();

return delegate.decode(uncompressedresponse, type);

} else

} else

}private static boolean iscompressed(final byte compressed)

}

再把這個類,以bean的方式注入即可:

@bean

public decoder gzipresponsedecoder(objectfactorymessageconverters)

Feign呼叫全域性異常處理解決

異常資訊形如 testservice addrecord paramvo failed and no fallback ailable.對於failed and no fallback ailable.這種異常資訊,是因為專案開啟了熔斷 feign.hystrix.enabled true當呼叫服務...

使用feign進行系統間呼叫的異常傳導

最近公司使用feign作為遠端呼叫的框架,feign在http呼叫過程中還是很優秀的,自帶負載均衡功能。在系統b呼叫系統a的服務時出現一些問題,比如系統a丟擲的業務異常,系統b無法簡單的使用 controlleradvice統一異常處理,查閱相關文件後給出以下解決方案。自定義錯誤解碼器類,該類繼承e...

呼叫元件Feign

有服務消費方呼叫提供方,之前採用的是resttemplate。1 在pom.xml中引入openfeign的啟動器 org.springframework.cloud spring cloud starter openfeign feign hystrix enabled true 開啟feign的...