這篇文章將為大家詳細講解有關spring cloud feign會遇到什么坑,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
創新互聯專注于企業成都全網營銷、網站重做改版、平和網站定制設計、自適應品牌網站建設、H5高端網站建設、商城開發、集團公司官網建設、外貿營銷網站建設、高端網站制作、響應式網頁設計等建站業務,價格優惠性價比高,為平和等各大城市提供網站開發制作服務。
1:多客戶端時,feign接口抽取到公共jar中,此時,客戶端的啟動類上需要對該jar中feign所在的包進行掃描,要在spring和feign中同時注冊,否則啟動時會報:“Consider defining a bean of type '******Feign' in your configuration.”
@SpringBootApplication @EnableTransactionManagement @EnableDiscoveryClient @ComponentScan(basePackages={"com.lcamtech.aidis.feign","com.lcamtech.aiads.dts"}) @EnableFeignClients(basePackages = {"com.lcamtech.aidis.feign"}) @EnableCaching @MapperScan(basePackages = "com.lcamtech.aiads.dts.mapper") public class Application extends SpringBootServletInitializer{ public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
重點:
@ComponentScan(basePackages={"com.lcamtech.aidis.feign","com.lcamtech.aiads.dts"}) @EnableFeignClients(basePackages = {"com.lcamtech.aidis.feign"})
aidis包為包含feign的jar, 此時@ComponentScan還需要同時掃描本項目的包。
2:使用Fegin傳值時,GET變POST
@FeignClient(value = "SERVICE-NAME") public interface UserAccountFeign { @RequestMapping(value = "/ac/exist", method = RequestMethod.GET) public BaseResult isExist(@RequestParam("mobile") String mobile); }
feign在傳遞時默認會將數據放在RequestBody中,所以會導致默認使用POST請求(及時@RequestMapping寫著GET也沒用),此時需要在參數列表中聲明@RequestParam才能進行正常的GET請求。
3:feign請求返回復雜對象時
如:
public class Result{ private string code; private string message; private Object data; //get/set }
問題描述:當請求返回的是Result的一個對象時,對于該對象內部的data值,會變成一個linkedHashMap,并不會被轉換成相應的類對象,若直接強轉會報類型錯誤。
解決方法1:簡單轉換
/** * @Description: 將數據轉換到相應的容器 * @param bean * @param clazz * @return * @throws * @author SunF * @date 2018/6/20 10:28 */ public static <T> T convertValue(Object bean, Class<T> clazz){ try{ ObjectMapper mapper = new ObjectMapper(); return mapper.convertValue(bean, clazz); }catch(Exception e){ log.error("錯誤的轉換:BeanUtil.convertValue() --->" + e.getMessage()); return null; } }
關于“spring cloud feign會遇到什么坑”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
網站題目:springcloudfeign會遇到什么坑
瀏覽地址:http://m.newbst.com/article22/jicgjc.html
成都網站建設公司_創新互聯,為您提供手機網站建設、搜索引擎優化、微信公眾號、網站設計公司、自適應網站、商城網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯