接上一篇,Springcloud使用feignclient遠端呼叫服務404 ,為什麼去掉context-path後,就能夠調通
一、問題回顧
如果application.properties檔案中配置了
#專案路徑
server.servlet.context-path=/pear-cache-service
則feignclient呼叫404
二、原因分析
當專案中配置了相當於配置了 server.servlet.context-path ,服務的根路徑,若正常的rest請求的話,請求的url就是 http://192.168.4.82:2222/pear-cache-service/v1/xxx/xxx
再來看我們配的feignclient介面:
配置的path中並沒有根路徑,這樣feignclient在生成http請求時,路徑就是 http://192.168.4.82:2222/v1/xxx/xxx ,並沒有專案根路徑。所以呼叫不通;
三、解決方案
- 去掉application.properties檔案中 server.servlet.context-path 配置
- 在feignclient的介面中,@FeignClient註解中,path屬性增加專案根路徑配置,如下圖:
over!!!