Spring Cloud OpenFeign REST服務(wù)客戶端原理及用法解析
OpenFeign是什么?
OpenFeign是REST服務(wù)客戶端,REST其實(shí)就是HTTP啦,所以O(shè)penFeign其實(shí)就是HTTP客戶端,那么他和HttpClient有什么不同呢
- OpenFeign的使用方法更加的簡(jiǎn)單
- OpenFeign配合Spring的HttpMessageConverters可以自動(dòng)把結(jié)果轉(zhuǎn)換成Java對(duì)象
- OpenFeign配合Ribbon、Eureka和Spring Cloud LoadBalancer可以支持負(fù)載均衡
如何使用OpenFeign
第一步引入OpenFeign
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency>
第二步啟動(dòng)OpenFeign客戶端功能
@SpringBootApplication
@EnableFeignClients
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
第三步編寫REST服務(wù)接口
@FeignClient(name = "stores", url = "http://localhost:7074")<br data-filtered="filtered">public interface StoreClient {
@RequestMapping(method = RequestMethod.GET, value = "/stores")
List<Store> getStores();
@RequestMapping(method = RequestMethod.POST, value = "/stores/{storeId}", consumes = "application/json")
Store update(@PathVariable("storeId") Long storeId, Store store);
}
在@FeignClient中的字符串稱為Feign客戶端名字,它可以是任意的字符串,設(shè)置名字的目的就是為了方便在其它地方引用它,例如配置Rabbin或Spring Cloud LoadBalancer負(fù)載均衡(后面會(huì)詳細(xì)介紹如何做)。
在@FeignClient中還可以設(shè)置url參數(shù),它表示提供REST服務(wù)的地址,如果你沒有設(shè)置url參數(shù),那么就要在配置文件中配置。
之后我們就可以把StoreClient注入到我們需要使用的地方啦。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 完美解決SpringCloud-OpenFeign使用okhttp替換不生效問題
- 詳解SpringCloud-OpenFeign組件的使用
- Spring Cloud 系列之服務(wù)調(diào)用 OpenFeign的實(shí)現(xiàn)
- SpringCloud OpenFeign Post請(qǐng)求400錯(cuò)誤解決方案
- SpringCloud 服務(wù)負(fù)載均衡和調(diào)用 Ribbon、OpenFeign的方法
- Springcloud基于OpenFeign實(shí)現(xiàn)服務(wù)調(diào)用代碼實(shí)例
- 解決啟用 Spring-Cloud-OpenFeign 配置可刷新項(xiàng)目無法啟動(dòng)的問題
相關(guān)文章
springboot2+mybatis多種方式實(shí)現(xiàn)多數(shù)據(jù)配置方法
這篇文章主要介紹了springboot2+mybatis多種方式實(shí)現(xiàn)多數(shù)據(jù)配置方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03
Java替換字符串replace和replaceAll方法舉例詳解
這篇文章主要介紹了Java中替換字符串的幾種方法,包括String類的replace()、replaceAll()、replaceFirst()方法,以及StringBuilder和StringBuffer類的replace()方法,還提到了一些第三方庫,如Hutool,它們提供了更豐富的字符串處理功能,需要的朋友可以參考下2025-02-02
win10系統(tǒng)64位jdk1.8的下載與安裝教程圖解
這篇文章主要介紹了win10系統(tǒng)64位jdk1.8的下載與安裝教程圖解,本文給大家介紹的非常詳細(xì),對(duì)大家的工作或?qū)W習(xí)具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03
Spring Boot集成Quartz注入Spring管理的類的方法
本篇文章主要介紹了Spring Boot集成Quartz注入Spring管理的類的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-04-04
Java?C++題解leetcode769最多能完成排序的塊
這篇文章主要為大家介紹了Java?C++題解leetcode769最多能完成排序的塊示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10
SpringBoot使用?Sleuth?進(jìn)行分布式跟蹤的過程分析
Spring Boot Sleuth是一個(gè)分布式跟蹤解決方案,它可以幫助您在分布式系統(tǒng)中跟蹤請(qǐng)求并分析性能問題,Spring Boot Sleuth是Spring Cloud的一部分,它提供了分布式跟蹤的功能,本文將介紹如何在Spring Boot應(yīng)用程序中使用Sleuth進(jìn)行分布式跟蹤,感興趣的朋友一起看看吧2023-10-10
IntelliJ IDEA 刷題利器 LeetCode 插件詳解
這篇文章主要介紹了IntelliJ IDEA 刷題利器 LeetCode 插件,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08

