日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

feign踩坑_spring cloud fegin踩坑记录

發布時間:2025/3/15 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 feign踩坑_spring cloud fegin踩坑记录 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1:多客戶端時,fegin接口抽取到公共jar中,此時,客戶端的啟動類上需要對該jar中fegin所在的包進行掃描,要在spring和fegin中同時注冊,否則啟動時會報:“Consider defining a bean of type '******Feign' in your configuration.”

@SpringBootApplication

@EnableTransactionManagement

@EnableDiscoveryClient

@ComponentScan(basePackages={"com.lcamtech.aidis.fegin","com.lcamtech.aiads.dts"})

@EnableFeignClients(basePackages = {"com.lcamtech.aidis.fegin"})

@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.fegin","com.lcamtech.aiads.dts"})

@EnableFeignClients(basePackages = {"com.lcamtech.aidis.fegin"})

aidis包為包含fegin的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);

}

fegin在傳遞時默認會將數據放在RequestBody中,所以會導致默認使用POST請求(及時@RequestMapping寫著GET也沒用),此時需要在參數列表中聲明@RequestParam才能進行正常的GET請求。

3:fegin請求返回復雜對象時

如:

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 convertValue(Object bean, Class clazz){

try{

ObjectMapper mapper = new ObjectMapper();

return mapper.convertValue(bean, clazz);

}catch(Exception e){

log.error("錯誤的轉換:BeanUtil.convertValue() --->" + e.getMessage());

return null;

}

}

2:

總結

以上是生活随笔為你收集整理的feign踩坑_spring cloud fegin踩坑记录的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。