欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

先寫一個公共方法

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

然后寫一個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注解用于指定從哪個服務(wù)中調(diào)用功能 ,注意 里面的名稱與被調(diào)用的服務(wù)

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

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

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

@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ù)注意事項

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

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}") 。因為GetMapper是一個組合注解。

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ù)有多個例如:http://target-servername/query-by?id=1&username=張三 要怎么辦呢? 不能構(gòu)造一個復(fù)雜的對象去接收,必須一個一個接收參數(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);
}

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

相關(guān)文章

  • Java數(shù)組集合的深度復(fù)制代碼實例

    Java數(shù)組集合的深度復(fù)制代碼實例

    這篇文章主要介紹了Java數(shù)組集合的深度復(fù)制代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • Java的wait(), notify()和notifyAll()使用心得

    Java的wait(), notify()和notifyAll()使用心得

    本篇文章是對java的 wait(),notify(),notifyAll()進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-08-08
  • Java8新增的重復(fù)注解功能示例

    Java8新增的重復(fù)注解功能示例

    這篇文章主要介紹了Java8新增的重復(fù)注解功能,結(jié)合實例形式分析了java8重復(fù)注解的功能、定義、使用方法及相關(guān)操作注意事項,需要的朋友可以參考下
    2019-10-10
  • Java current并發(fā)包超詳細(xì)分析

    Java current并發(fā)包超詳細(xì)分析

    current并發(fā)包、在JDK1.5之前Java并沒有提供線程安全的一些工具類去操作多線程,需要開發(fā)人員自行編寫實現(xiàn)線程安全,但仍然無法完全避免低性能、死鎖、資源管理等問題。在JDK1.5時新增了java.util.current并發(fā)包,其中提供了許多供我們使用的并發(fā)編程工具類
    2023-02-02
  • Spring Cloud @EnableFeignClients注解的屬性字段basePacka詳解

    Spring Cloud @EnableFeignClients注解的屬性字段basePacka詳解

    這篇文章主要介紹了Spring Cloud @EnableFeignClients注解的屬性字段basePacka詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Java源碼深度分析String與StringBuffer及StringBuilder詳解

    Java源碼深度分析String與StringBuffer及StringBuilder詳解

    當(dāng)對字符串進(jìn)行修改的時候,需要使用?StringBuffer?和?StringBuilder類,和String類不同的是,StringBuffer和?StringBuilder類的對象能夠被多次的修改,并且不產(chǎn)生新的未使用對象,本篇我們來分析分析它們的源碼
    2022-05-05
  • SpringBoot中的@RestControllerAdvice注解詳解

    SpringBoot中的@RestControllerAdvice注解詳解

    這篇文章主要介紹了SpringBoot中的@RestControllerAdvice注解詳解,RestControllerAdvice注解用于創(chuàng)建全局異常處理類,用于捕獲和處理整個應(yīng)用程序中的異常,需要的朋友可以參考下
    2024-01-01
  • SpringCloud實戰(zhàn)小貼士之Zuul的路徑匹配

    SpringCloud實戰(zhàn)小貼士之Zuul的路徑匹配

    這篇文章主要介紹了SpringCloud實戰(zhàn)小貼士之Zuul的路徑匹配,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • MybatisPlus多表連接查詢的問題及解決方案

    MybatisPlus多表連接查詢的問題及解決方案

    MybatisPlus官方并沒有提供多表連接查詢的通用解決方案,然而連接查詢是相當(dāng)普遍的需求,今天通過本文給大家介紹下MybatisPlus多表連接查詢的問題及解決方案,感興趣的朋友一起看看吧
    2022-01-01
  • Spring Boot中如何使用Swagger詳解

    Spring Boot中如何使用Swagger詳解

    Swagger是一個規(guī)范和完整的框架,用于生成、描述、調(diào)用和可視化 RESTful風(fēng)格的Web服務(wù),這篇文章主要給大家介紹了關(guān)于Spring Boot中如何使用Swagger的相關(guān)資料,需要的朋友可以參考下
    2021-08-08

最新評論