日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

SpringBoot使用Feign調用其他服務接口

瀏覽:149日期:2023-03-20 15:37:36

使用SpringCloud的Feign組件能夠為服務間的調用節(jié)省編碼時間并提高開發(fā)效率,當服務本身不復雜時可以單獨將該組件拿出使用。

引入依賴

<!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-openfeign --><dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> <version>2.0.4.RELEASE</version></dependency>

引入SpringBoot打包的Feign依賴,需要注意的是Feign的版本與SpringBoot版本的對應關系,老版本的Feign并不叫openfeign。由于我是用的SpringBoot版本是2.0x,所以openfeign使用了2.0x版本,若使用諸如2.1x或其他高版本的openfeign,在項目啟動時會報“抽象方法錯誤”這類的異常。

編寫接口作為服務調用入口

import com.bhz.demo.client.domain.req.ProductReceiveReq;import com.bhz.demo.client.domain.resp.MemberPointBaseResp;import com.bhz.demo.client.domain.resp.UserPointResp;import org.springframework.cloud.openfeign.FeignClient;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;/** * @Author guomz * @create 2021/3/15 14:50 */@FeignClient(url = 'www.123.com', name = 'demoClient')public interface DemoClient { @RequestMapping(value = '/demo/user/{uuid}/{name}', method = RequestMethod.GET) DemoBaseResp<DemoUserResp> getUser(@PathVariable('uuid') String uuid, @PathVariable('name') String name); @RequestMapping(value = '/demo/buy', method = RequestMethod.POST) DemoBaseResp buyProduct(DemoBuyReq req);}

Feign的服務調用編寫類似mybatis的dao接口,接口上方需要標注@FeignClient注解,該注解有url、name、value三個重要參數(shù)。其中name與value等效,必須填寫一個。在微服務環(huán)境下name或value填寫用于被注冊中心發(fā)現(xiàn)的服務名,例如調用的用戶服務叫userService則此處填寫userService,此使url可以不填寫,因為已經(jīng)指定了調用方。url則是直接指定服務的全路徑,若同時填寫url與name,則以url為準,name便被當作當前客戶端的名稱。

上面的示例并不屬于復雜的微服務環(huán)境,所以采用直接指定url來調用其他服務。

方法定義上與controller基本一致,需要注意post方法不能傳遞多個參數(shù),需要用map或對象進行封裝。

調用服務

@Service@Slf4jpublic class DemoService { @Autowired private DemoClient demoClient; public void getUser(Long id){ demoClient.getUser('123', 'abc'); }}

在需要調用其他服務的模塊中引入之前定義的接口即可。

關于調用https接口

調用https接口時會進行證書校驗,若沒有證書則會拋出No subject alternative names present異常,可以使用以下代碼來繞過證書校驗:

<!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-netflix-ribbon --><dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-ribbon</artifactId> <version>2.0.4.RELEASE</version></dependency>

首先需要引入Ribbon依賴,在繞過證書的代碼中存在一些需要被注入的類屬于Ribbon。Ribbon的引入同樣需要注意版本問題。

import feign.Client;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;import org.springframework.cloud.netflix.ribbon.SpringClientFactory;import org.springframework.cloud.openfeign.ribbon.CachingSpringLoadBalancerFactory;import org.springframework.cloud.openfeign.ribbon.LoadBalancerFeignClient;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import javax.net.ssl.*;import java.security.KeyManagementException;import java.security.NoSuchAlgorithmException;import java.security.cert.X509Certificate;/**feign client配置 * @Author guomz * @create 2021/3/16 9:52 */ @Configurationpublic class FeignConfiguration {/** * 調用https接口時繞過ssl證書驗證 * @param cachingFactory * @param clientFactory * @return * @throws NoSuchAlgorithmException * @throws KeyManagementException */ @Bean @ConditionalOnMissingBean public Client feignClient(@Qualifier('cachingLBClientFactory') CachingSpringLoadBalancerFactory cachingFactory, SpringClientFactory clientFactory) throws NoSuchAlgorithmException, KeyManagementException { SSLContext ctx = SSLContext.getInstance('TLSv1.2'); X509TrustManager tm = new X509TrustManager() {@Overridepublic void checkClientTrusted(X509Certificate[] x509Certificates, String s) { }@Overridepublic void checkServerTrusted(X509Certificate[] x509Certificates, String s) { }@Overridepublic X509Certificate[] getAcceptedIssuers() { return new X509Certificate[0]; } }; ctx.init(null, new TrustManager[]{tm}, null); return new LoadBalancerFeignClient(new Client.Default(ctx.getSocketFactory(), new HostnameVerifier() { @Override public boolean verify(String hostname, SSLSession sslSession) { return true; }}), cachingFactory, clientFactory); }}

之后是Feign的配置類,用來繞過https證書校驗。

到此這篇關于SpringBoot使用Feign調用其他服務接口的文章就介紹到這了,更多相關SpringBoot Feign調用服務接口內容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網(wǎng)!

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩精品中文字幕第1页| 在线观看亚洲精品福利片| 中文字幕系列一区| 国产精品夜夜夜| 夜久久久久久| 日本少妇一区| 激情视频网站在线播放色| 国产欧美亚洲一区| 日韩中文字幕视频网| 日韩视频一区二区三区在线播放免费观看| 狠狠久久伊人中文字幕| 日本一不卡视频| 另类亚洲自拍| 亚洲精品一二三区区别| 欧美成人a交片免费看| 久久精品国产免费| 美腿丝袜在线亚洲一区| 国产精品日韩精品在线播放| 91亚洲无吗| 五月精品视频| 在线日韩中文| 美女久久久久| 亚洲精品1区| 国产农村妇女精品一二区| 久久一区二区中文字幕| 久久精品一区二区不卡| 欧美亚洲精品在线| 激情五月综合网| 欧美日韩第一| 国产一区二区中文| 欧美特黄一区| 亚洲综合国产| 亚洲精品乱码久久久久久蜜桃麻豆| 久久国产88| 日韩一区二区久久| av不卡免费看| 亚洲美女91| 日韩精品欧美精品| 日韩精品欧美精品| 国产另类在线| 国产一区二区三区视频在线| 国产成人免费视频网站视频社区| 国产拍在线视频| 日韩专区精品| 黄色不卡一区| 亚洲人亚洲人色久| 久久精品72免费观看| 国产免费av一区二区三区| 久久国产三级| 精品国产91| 亚洲成a人片| 亚洲欧美日本视频在线观看| 亚洲日本三级| 久久亚洲资源中文字| 日本国产精品| 午夜亚洲一区| 一区二区三区四区在线看| 亚洲一区二区三区免费在线观看| 视频一区视频二区在线观看| 国产欧美日韩一区二区三区在线| 麻豆久久久久久| 国产一区福利| 久久精品av| 综合激情五月婷婷| 嫩草伊人久久精品少妇av杨幂| 福利一区在线| 亚洲综合二区| 乱一区二区av| aⅴ色国产欧美| 国产精品亚洲欧美一级在线| 国产精品毛片一区二区在线看| 国产精品7m凸凹视频分类| 天堂av一区| 成人亚洲精品| 亚洲v在线看| 日本免费在线视频不卡一不卡二| 麻豆久久一区| 99亚洲视频| 欧美成人一二区| 在线亚洲欧美| 国产精品任我爽爆在线播放| 亚洲91视频| 蜜臀精品久久久久久蜜臀| 国产精品极品| 在线 亚洲欧美在线综合一区| 91精品啪在线观看国产爱臀| 97精品国产福利一区二区三区| 久色成人在线| 色乱码一区二区三区网站| 六月婷婷一区| 精品视频高潮| 亚洲在线久久| 桃色一区二区| 国产精品伦一区二区| 欧美另类专区| 日韩国产精品久久久久久亚洲| 欧美久久天堂| 日韩av字幕| 蜜桃一区二区三区| 精品视频网站| 亚洲va久久久噜噜噜久久| av免费不卡国产观看| 亚洲精品第一| 亚洲二区免费| 久久精品国产一区二区| 视频一区在线播放| 久久久久国产| 狠狠久久伊人| 日韩国产91| 亚洲二区在线| 日本午夜精品一区二区三区电影| 亚洲小说欧美另类婷婷| 国产精品chinese| 亚洲精品美女91| 亚洲国产日韩欧美在线| 成人午夜亚洲| 国产精品一区二区三区美女 | 男人的天堂久久精品| 国产拍在线视频| 国产区精品区| 99国产精品久久久久久久成人热| 日韩av二区| 91福利精品在线观看| 美女精品在线观看| 欧美日韩激情| 日本免费久久| 韩日一区二区| 欧美激情视频一区二区三区免费| 日韩国产在线不卡视频| 日韩在线观看一区二区| 日韩在线视频精品| 国产成人久久精品麻豆二区| 欧美亚洲tv| 视频一区免费在线观看| 欧美一区二区三区激情视频| 国产精品成人国产| 午夜久久美女| 欧美va天堂在线| 国产亚洲亚洲| 亚洲精品一级| 国产精品久久久网站| 国产一区二区久久久久| 久久国产中文字幕| 六月丁香综合| 国产精品一区二区精品| 精品久久在线| 香蕉久久99| 蜜桃av一区二区| 国产亚洲精品美女久久| 免费视频一区二区三区在线观看 | 日韩中文av| 久久影院一区二区三区| 91亚洲国产| 一区在线免费观看| 日韩免费精品| 久久久久九九精品影院| 亚洲成av人片一区二区密柚| 免费久久精品视频| 久久99免费视频| 99精品美女| 亚洲精品人人| 国内精品麻豆美女在线播放视频| 久久理论电影| 日本在线观看不卡视频| 麻豆视频观看网址久久| 久久国产免费| 视频一区日韩精品| 久久女人天堂| 免费国产自久久久久三四区久久| 亚洲精品美女91| 成人国产精选| 日韩高清一区在线| 91精品亚洲| 日韩视频二区| 国产乱码精品一区二区三区亚洲人| 视频在线不卡免费观看| 国产精品普通话对白| 国产精品主播在线观看| 99热精品久久| 免费美女久久99| 韩国一区二区三区视频| 狠狠爱成人网| 卡一卡二国产精品| 天堂成人免费av电影一区| 欧美偷窥清纯综合图区| 久久国产日韩| 欧美精品三级在线| 亚洲一级高清| 欧美国产极品| 亚洲综合不卡| 国产91在线精品| 中文字幕av亚洲精品一部二部| 精品一区二区三区的国产在线观看| 伊人成人在线视频| 国产96在线亚洲| 亚洲少妇在线| 国产一区二区三区精品在线观看| 久久www成人_看片免费不卡| 给我免费播放日韩视频| 一本一道久久a久久|