注意,如下的Feign遇到的坑,在高版本中有些已經修復。
某些項目因爲歷史包袱緣由,沒法進行全面升級,才須要修補這些坑。html
1.啓動報錯:not annotated with HTTP method type (ex. GET, POST)
錯誤緣由:
低版本的Feign不支持@PostMapping
解決方法:
在Feign中使用@RequestMapping,以下示:app
@FeignClient(value = "base") public interface OrderDetailService { @RequestMapping(value="/order/detail",method=RequestMethod.POST) JSONObject getOrderDetailByCdkey(@RequestParam("cdkey") String cdkey); }
2.啓動報錯:RequestParam.value() was empty on parameter 0
錯誤緣由:@RequestParam()註解內的參數不能爲空
解決方法:加入具體參數,如@RequestParam("cdkey") String cdkey.net
3.啓動報錯:PathVariable annotation was empty on param 0.
錯誤緣由:@PathVariable()註解內的參數不能爲空
解決方法:加入具體參數,如@PathVariable("id") String id
示例以下:code
@RequestMapping(value="/eureka/apps/{serviceName}", method=RequestMethod.GET) public String getServiceInfoByserviceName(@PathVariable("serviceName") String serviceName) ; }
相關博客:
SpringCloud Feign 踩到的坑(一)
參考資料:
https://blog.csdn.net/huaseven0527/article/details/80533983
https://blog.csdn.net/uotail/article/details/84673347htm