最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用FeignClient進(jìn)行微服務(wù)交互方式(微服務(wù)接口互相調(diào)用)

 更新時(shí)間:2022年03月07日 10:06:20   作者:古木2019  
這篇文章主要介紹了使用FeignClient進(jìn)行微服務(wù)交互方式(微服務(wù)接口互相調(diào)用),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

使用FeignClient進(jìn)行微服務(wù)交互

先寫一個(gè)公共方法

? public String getSettingValue(String name) {
? ? ? ?Map<String, Object> map = (Map) settingClient.getByName(name).getData();
? ? ? ?return (String) map.get("value");
? }

然后寫一個(gè)Feign調(diào)用

@FeignClient(value="qiang-admin")
public interface SettingClient {
?? ?@RequestMapping(value="/setting/getSetting/{name}",method = RequestMethod.GET)
?? ?public ReturnMsg getByName(@PathVariable("name") String name);
}

@FeignClient注解用于指定從哪個(gè)服務(wù)中調(diào)用功能 ,注意 里面的名稱與被調(diào)用的服務(wù)

名保持一致,并且不能包含下劃線。

@RequestMapping注解用于對被調(diào)用的微服務(wù)進(jìn)行地址映射。注意 @PathVariable注

解一定要指定參數(shù)名稱,否則出錯(cuò)。

@PathVariable:接口參數(shù)

被Feign調(diào)用的方法如下

?? ?@RequestMapping(value="/getSetting/{name}",method = RequestMethod.GET)
?? ?public ReturnMsg getByName(@PathVariable String name){
?? ??? ?Setting condition = new Setting();
?? ??? ?condition.setName(name);
?? ??? ?ReturnMsg returnMsg = new ReturnMsg<>();
?? ??? ?Setting setting = settingService.findByCondition(condition);
?? ??? ?returnMsg.setCode(ReturnIntCode.SUCCESSS_CODE);
?? ??? ?returnMsg.setData(setting);
?? ??? ?return returnMsg;
?? ?}

@FeignClient調(diào)用微服務(wù)注意事項(xiàng)

在初次使用springcloud,調(diào)用微服務(wù)的時(shí)候,常常會(huì)踩坑,這里總結(jié)一下,在調(diào)用微服務(wù)的時(shí)候,常犯的幾點(diǎn)錯(cuò)誤及注意點(diǎn):

FeignClient接口不能使用@GettingMapping之類的組合注解

@FeignClient("target-servername")
? public interface FeignClient {
? ? ? ?@RequestMapping(value = "/simple/{id}", method =RequestMethod.GET)
?public Object findById(@PathVariable("id") Long id);
?...
}

這邊的@RequestMapping(value = "/simple/{id}", method = RequestMethod.GET) 不能寫成@GetMapping("/simple/{id}") 。因?yàn)镚etMapper是一個(gè)組合注解。

FeignClient接口中如果使用到@PathVariable

必須指定其value

@FeignClient("target-servername")
public interface FeignClient {
?@RequestMapping(value = "/simple/{id}", method = RequestMethod.GET)
?public Object findById(@PathVariable("id") Long id);
?...
}

這邊的@PathVariable("id") 中的”id”,不能省略,必須指定。

FeignClient多參數(shù)的構(gòu)造

如果想要請求target-servername 服務(wù),并且參數(shù)有多個(gè)例如:http://target-servername/query-by?id=1&username=張三 要怎么辦呢? 不能構(gòu)造一個(gè)復(fù)雜的對象去接收,必須一個(gè)一個(gè)接收參數(shù)

@FeignClient("target-servername")
public interface UserFeignClient {
?@RequestMapping(value = "/query-by", method = RequestMethod.GET)
?public Object queryBy(@RequestParam("id")Long id, @RequestParam("username")String username);
}

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java之springcloud Sentinel案例講解

    Java之springcloud Sentinel案例講解

    這篇文章主要介紹了Java之springcloud Sentinel案例講解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • 解析Spring RestTemplate必須搭配MultiValueMap的理由

    解析Spring RestTemplate必須搭配MultiValueMap的理由

    本文給大家介紹Spring RestTemplate必須搭配MultiValueMap的理由,本文通過實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2021-11-11
  • java后臺(tái)調(diào)用接口及處理跨域問題的解決

    java后臺(tái)調(diào)用接口及處理跨域問題的解決

    這篇文章主要介紹了java后臺(tái)調(diào)用接口,處理跨域的問題及解決,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Mybatis-plus查詢語句加括號(hào)(.or(),.and())問題

    Mybatis-plus查詢語句加括號(hào)(.or(),.and())問題

    這篇文章主要介紹了Mybatis-plus查詢語句加括號(hào)(.or(),.and())問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • SpringBoot實(shí)現(xiàn)初始化的三種策略模式

    SpringBoot實(shí)現(xiàn)初始化的三種策略模式

    本文主要介紹了SpringBoot實(shí)現(xiàn)初始化的三種策略模式,包括默認(rèn)初始化策略、懶加載初始化策略和自定義初始化策略,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-12-12
  • java日期時(shí)間操作工具類

    java日期時(shí)間操作工具類

    這篇文章主要為大家詳細(xì)介紹了java日期時(shí)間操作工具類,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • 深入分析Spring BeanDefinition的構(gòu)造元信息

    深入分析Spring BeanDefinition的構(gòu)造元信息

    Bean Definition是一個(gè)包含Bean元數(shù)據(jù)的對象,它描述了如何創(chuàng)建Bean實(shí)例、Bean屬性的值以及Bean之間的依賴關(guān)系,本文將帶大家深入分析Spring BeanDefinition的構(gòu)造元信息,需要的朋友可以參考下
    2024-01-01
  • 一篇文章讓你學(xué)會(huì)Java的輸入與輸出

    一篇文章讓你學(xué)會(huì)Java的輸入與輸出

    這篇文章主要介紹了Java輸入與輸出的相關(guān)資料,包括使用System.out.println()、System.out.printf()和System.out.print()進(jìn)行輸出,以及使用Scanner類和System.in.read()方法進(jìn)行輸入,需要的朋友可以參考下
    2025-03-03
  • Java并發(fā)編程之StampedLock鎖介紹

    Java并發(fā)編程之StampedLock鎖介紹

    這篇文章主要介紹了Java并發(fā)編程之StampedLock鎖,StampedLock是并發(fā)包里面JDK8版本新增的一個(gè)鎖,下文更多相關(guān)內(nèi)容需要的小伙伴可以參考一下
    2022-04-04
  • 深入聊一聊JDK中的Map和Set

    深入聊一聊JDK中的Map和Set

    這篇文章主要給大家介紹了關(guān)于JDK中Map和Set的相關(guān)資料,文中通過示例代碼以及圖文介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用jdk具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-12-12

最新評論

林西县| 鄯善县| 抚顺市| 松溪县| 裕民县| 松滋市| 荥经县| 大荔县| 比如县| 应用必备| 长垣县| 唐河县| 莲花县| 如东县| 西盟| 祁连县| 互助| 杭州市| 长宁区| 阿拉善盟| 易门县| 孟州市| 甘德县| 治县。| 定州市| 宜章县| 建瓯市| 天镇县| 屯昌县| 香河县| 金沙县| 孟连| 长垣县| 巧家县| 延边| 云霄县| 徐闻县| 大厂| 呼伦贝尔市| 大竹县| 台北市|