一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - Java教程 - Spring Cloud-Feign服務(wù)調(diào)用的問(wèn)題及處理方法

Spring Cloud-Feign服務(wù)調(diào)用的問(wèn)題及處理方法

2022-02-17 15:24人形bug制造機(jī)9527 Java教程

Feign 是一個(gè)聲明式的 REST 客戶端,它用了基于接口的注解方式,很方便實(shí)現(xiàn)客戶端配置。接下來(lái)通過(guò)本文給大家介紹Spring Cloud-Feign服務(wù)調(diào)用,需要的朋友可以參考下

概述:

• Feign 是一個(gè)聲明式的 REST 客戶端,它用了基于接口的注解方式,很方便實(shí)現(xiàn)客戶端配置。
• Feign 最初由 Netflix 公司提供,但不支持SpringMVC注解,后由 SpringCloud 對(duì)其封裝,支持了SpringMVC注
解,讓使用者更易于接受

Spring Cloud-Feign服務(wù)調(diào)用的問(wèn)題及處理方法

首先在調(diào)用者的pom中加入如下坐標(biāo)

?
1
2
3
4
5
<!--feign-->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>

然后在啟動(dòng)類上添加注解
@EnableFeignClients以啟用Feign
最后創(chuàng)建一個(gè)接口,方法參數(shù)映射全部按照我們要調(diào)用的那個(gè)controller寫(xiě)一個(gè)
value的值是應(yīng)用名稱

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/**
 *
 * feign聲明式接口。發(fā)起遠(yuǎn)程調(diào)用的。
 *
 String url = "http://eureka-provider/provider/getUser/"+id;
 User user = restTemplate.getForObject(url, User.class);
 *
 * 1. 定義接口
 * 2. 接口上添加注解 @FeignClient,設(shè)置value屬性為 服務(wù)提供者的 應(yīng)用名稱
 * 3. 編寫(xiě)調(diào)用接口,接口的聲明規(guī)則 和 提供方接口保持一致。
 * 4. 注入該接口對(duì)象,調(diào)用接口方法完成遠(yuǎn)程調(diào)用
 */
@FeignClient(value = "eureka-provider")
@RequestMapping("/provider")
public interface FeignProviderUserController {
 
    @GetMapping("/getUser/{id}")
    public ResponseEntity<User> getUser(@PathVariable("id")String id);
}

然后我們將這個(gè)接口注入到我們要使用的地方,就可以直接調(diào)用那個(gè)方法了

?
1
2
3
4
5
6
7
8
9
10
11
/**
 * Feign形式的服務(wù)調(diào)用
 * @param id
 * @return
 */
@GetMapping("/FeignClientGetUser/{id}")
public ResponseEntity<User> FeignClientGetUser(@PathVariable("id") String id){
    System.out.println("進(jìn)入");
    ResponseEntity<User> user = feignConsumerUserClient.getUser(id);
    return user;
}

現(xiàn)在存在一個(gè)問(wèn)題,就是按照應(yīng)用名稱調(diào)用的時(shí)候。取到的對(duì)象name是正確的,但是url卻是http://+name,并不是我們想要的http://+host+port+uri,
正在解決…
結(jié)果:{好吧需要ribbon}

Spring Cloud-Feign服務(wù)調(diào)用的問(wèn)題及處理方法

Feign超時(shí)配置

Feign 底層依賴于 Ribbon 實(shí)現(xiàn)負(fù)載均衡和遠(yuǎn)程調(diào)用。
• Ribbon默認(rèn)1秒超時(shí)。
• 超時(shí)配置:
在調(diào)用者的配置文件中加入

?
1
2
3
4
# 設(shè)置Ribbon的超時(shí)時(shí)間
ribbon:
  ConnectTimeout: 1000 # 連接超時(shí)時(shí)間 默認(rèn)1s  默認(rèn)單位毫秒
  ReadTimeout: 3000 # 邏輯處理的超時(shí)時(shí)間 默認(rèn)1s 默認(rèn)單位毫秒

Feign日志記錄

?
1
2
logging:
  level: debug #配置日志級(jí)別

如果報(bào)錯(cuò)Failed to bind properties under 'logging.level',是因?yàn)閟pringboot2.0.0以后的版本只支持如下這種配置,需要指定名稱

?
1
2
3
logging:
  level:
    root: info #配置日志級(jí)別

到此這篇關(guān)于Spring Cloud-Feign服務(wù)調(diào)用的文章就介紹到這了,更多相關(guān)Spring Cloud-Feign服務(wù)調(diào)用內(nèi)容請(qǐng)搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

原文鏈接:https://blog.csdn.net/m0_49194578/article/details/120723184

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 精品一区二区三区视频 | 小黄文污到你湿 | 日本三级在线观看免费 | 亚洲精品乱码久久久久久蜜桃欧美 | 亚洲精品第五页中文字幕 | 91精品国产免费久久 | 多人群p全肉小说 | 好男人资源在线观看免费的 | 成年美女黄网色大观看全 | 成人私人影院www片免费高清 | 亚洲区视频在线观看 | 高清黄色直接看 | 好湿好滑好硬好爽好深视频 | 动漫美女胸被狂揉扒开吃奶动态图 | 日本高清视频一区二区 | 久久热在线视频精品1 | 99热这里只有精 | 毛片免费全部免费观看 | 性色xxx| 免费稚嫩福利 | 天天爱天天做天天爽天天躁 | 性夜影院爽黄A爽免费动漫 性色欲情网站IWWW九文堂 | 亚洲成人影院在线观看 | 成人国产在线观看 | 亚洲 综合 欧美在线视频 | 色yeye在线观视频 | 成年人免费观看的视频 | 女人爽到喷水的视频免费看 | 天天拍天天色 | 2020最新韩国理论三级0k | 成人另类视频 | 色综合天天综合网站中国 | 日韩视频在线观看中字 | 亚洲福利一区二区三区 | 日韩免费一级毛片 | 草莓污污 | 天天噜 | 我在厨房摸岳的乳HD在线观看 | 国产色婷婷亚洲 | 成人免费视屏 | 调教麻麻成贱m |