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

SpringCloud OpenFeign超詳細講解模板化遠程通信的實現(xiàn)

 更新時間:2022年07月12日 10:47:36   作者:有頭發(fā)的程序猿!  
這篇文章主要介紹了SpringCloudSpringboot集成OpenFeign實現(xiàn)模板化遠程通信,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

1. openFeign實現(xiàn)

基于spring-boot-starter-parent 2.6.8,spring-cloud-dependencies 2021.0.3,一個order服務(wù)一個user服務(wù)

1.1 pom依賴

<!--nacos服務(wù)注冊與發(fā)現(xiàn)-->
<dependency>
	<groupId>com.alibaba.cloud</groupId>
	<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
	<version>2021.0.1.0</version>
</dependency>
<!--遠程服務(wù)調(diào)用-->
<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-loadbalancer</artifactId>
</dependency>
<!--服務(wù)調(diào)用feign-->
<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>

1.2 yaml配置

order調(diào)用端,配置的超時設(shè)置注釋掉了只為記錄

spring:
  application:
    name: orderservice
  cloud:
    #找對應(yīng)網(wǎng)段的網(wǎng)卡 不配置內(nèi)部服務(wù)就走外網(wǎng)
    inetutils:
      preferred-networks: 192.168.0
    nacos:
      discovery:
        server-addr: 192.168.0.221:8848
#feign:
#  client:
#    config:
#      #default設(shè)置的是全局超時時間,對所有的openFeign接口服務(wù)都生效 默認60s超時
#      default:
#        connectTimeout: 5000
#        readTimeout: 5000
#      #為某個服務(wù)設(shè)置超時時間 優(yōu)先于全局
#      userservice:
#        connectTimeout: 5000
#        readTimeout: 5000

user服務(wù)僅需要注冊

spring:
  application:
    name: userservice
  cloud:
    #找對應(yīng)網(wǎng)段的網(wǎng)卡 不配置內(nèi)部服務(wù)就走外網(wǎng)
    inetutils:
      preferred-networks: 192.168.0
    nacos:
      discovery:
        server-addr: 192.168.0.221:8848

遠程調(diào)用依賴于注冊中心,這里用的是nacos,其他的eureka也可以的

1.3 客戶端調(diào)用代碼

  • 啟動類上添加@EnableFeignClients注解
  • api接口,可以單獨放在api包
@FeignClient(value = "userservice")
//沒有注冊中心的服務(wù)調(diào)用使用  testFeign/隨便寫
//@FeignClient(value = "testFeign",url = "http://192.168.0.199:7540")
public interface UserService {
    //默認是@RequestBody注解參數(shù) 
    //如果使用其他注解一定要帶上value 否者會報錯 RequestParam.value() was empty on parameter 1
    @GetMapping("/getTime/{uuid}")
    String getTime(@PathVariable("uuid") String uuid, @RequestParam("name") String name);
    @PostMapping("/postTime")
    Map<String, Object> getTime(@RequestBody Map<String, Object> params);
}

客戶端代碼

	@Resource
    UserService userService;
    @GetMapping("/test")
    public String test() throws Exception {
        log.info("openFeign -- start");
        Map<String, Object> time = userService.getTime(resMap);
        log.info("openFeign -- {}", time);
        return template + ":" + time;
    }

1.4.服務(wù)端暴露接口

    @PostMapping("/postTime")
    public Map<String, Object> getTime(@RequestBody Map<String, Object> params) {
        params.put("time", new Date().getTime());
        return params;
    }

1.5.測試日志

c.e.order.controller.OrderController     : openFeign -- start
c.e.order.controller.OrderController     : openFeign -- {aaaa=bbbb, time=1657187048104}

到此這篇關(guān)于SpringCloud OpenFeign超詳細講解模板化遠程通信的實現(xiàn)的文章就介紹到這了,更多相關(guān)SpringCloud OpenFeign模板化遠程通信內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java實現(xiàn)手寫一個線程池的示例代碼

    Java實現(xiàn)手寫一個線程池的示例代碼

    線程池技術(shù)想必大家都不陌生把,相信在平時的工作中沒有少用,而且這也是面試頻率非常高的一個知識點,那么大家知道它的實現(xiàn)原理和細節(jié)嗎?本文就來通過手寫一個簡單的線程池框架,去掌握線程池的基本原理,感興趣的可以學(xué)習(xí)一下
    2022-10-10
  • 使用Idea連接MySQL的詳細步驟總結(jié)

    使用Idea連接MySQL的詳細步驟總結(jié)

    今天給大家?guī)淼氖顷P(guān)于IDEA連接數(shù)據(jù)庫的問題,文章圍繞著使用Idea連接MySQL的詳細步驟展開,文中有非常詳細的介紹及圖文示例,需要的朋友可以參考下
    2021-06-06
  • Java Servlet中Response對象的使用方法

    Java Servlet中Response對象的使用方法

    本文介紹了Java Servlet中Response對象的使用方法,包括設(shè)置響應(yīng)頭、設(shè)置響應(yīng)編碼、向客戶端發(fā)送數(shù)據(jù)、重定向等操作,同時介紹了常用的響應(yīng)狀態(tài)碼和響應(yīng)類型,幫助讀者更好地理解和掌握Servlet中Response對象的用法
    2023-05-05
  • Java實現(xiàn)AWT四大事件的詳細過程

    Java實現(xiàn)AWT四大事件的詳細過程

    AWT的事件處理是一種委派式事件處理方式:普通組件(事件源)將整個事件處理委托給特定的對象(事件監(jiān)聽器);當(dāng)該事件源發(fā)生指定的事件時,就通知所委托的事件監(jiān)聽器,由事件監(jiān)聽器來處理這個事件
    2022-04-04
  • java中ZXing 生成、解析二維碼圖片的小示例

    java中ZXing 生成、解析二維碼圖片的小示例

    ZXing 是一個開源 Java 類庫用于解析多種格式的 1D/2D 條形碼,這篇文章主要介紹了java中ZXing 生成、解析二維碼圖片的小示例 ,有興趣的可以了解一下。
    2017-01-01
  • Java純代碼實現(xiàn)導(dǎo)出文件為壓縮包

    Java純代碼實現(xiàn)導(dǎo)出文件為壓縮包

    這篇文章主要為大家詳細介紹了Java如何代碼實現(xiàn)導(dǎo)出文件為壓縮包,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-02-02
  • Java控制流程示例代碼詳解

    Java控制流程示例代碼詳解

    這篇文章主要介紹了Java控制流程,本文通過示例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • 基于java中子類的繼承性的應(yīng)用介紹

    基于java中子類的繼承性的應(yīng)用介紹

    本篇介紹了,基于java中子類的繼承性的應(yīng)用。需要的朋友參考下
    2013-05-05
  • Java面試之如何實現(xiàn)10億數(shù)據(jù)判重

    Java面試之如何實現(xiàn)10億數(shù)據(jù)判重

    當(dāng)數(shù)據(jù)量比較大時,使用常規(guī)的方式來判重就不行了,所以這篇文章小編主要來和大家介紹一下Java實現(xiàn)10億數(shù)據(jù)判重的相關(guān)方法,希望對大家有所幫助
    2024-02-02
  • maven 環(huán)境變量的配置詳解

    maven 環(huán)境變量的配置詳解

    這篇文章主要介紹了maven 環(huán)境變量的配置詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09

最新評論

磐石市| 城市| 仙居县| 郑州市| 思茅市| 仪征市| 班玛县| 瓦房店市| 敦化市| 玛纳斯县| 金山区| 洪湖市| 姚安县| 石景山区| 望江县| 荣成市| 桃源县| 东兴市| 信丰县| 浏阳市| 黄冈市| 仁化县| 射阳县| 城固县| 黄大仙区| 西吉县| 炉霍县| 略阳县| 清丰县| 时尚| 花垣县| 建宁县| 津南区| 达日县| 长乐市| 呼伦贝尔市| 鄱阳县| 三江| 那坡县| 甘孜| 平江县|