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

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

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

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

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

引入依賴

<!-- 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三個重要參數。其中name與value等效,必須填寫一個。在微服務環境下name或value填寫用于被注冊中心發現的服務名,例如調用的用戶服務叫userService則此處填寫userService,此使url可以不填寫,因為已經指定了調用方。url則是直接指定服務的全路徑,若同時填寫url與name,則以url為準,name便被當作當前客戶端的名稱。

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

方法定義上與controller基本一致,需要注意post方法不能傳遞多個參數,需要用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調用服務接口內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩国产在线观看| 日韩精品五月天| 久久99久久久精品欧美| 国产日韩欧美一区在线| 91精品啪在线观看国产18| 亚洲黄色免费av| 婷婷激情一区| 国产精品毛片| 亚洲一区二区三区四区五区午夜| 麻豆视频一区二区| 日韩和欧美一区二区| 黑人精品一区| 亚洲我射av| 另类中文字幕国产精品| 不卡在线一区二区| 青草国产精品久久久久久| 国产精品自在| 蜜臀av性久久久久蜜臀aⅴ流畅| 国产精品久久久久9999高清| 日韩大片在线观看| 在线一区视频| 麻豆精品少妇| 亚洲网站视频| 日本亚洲欧美天堂免费| 亚洲欧洲日本mm| 欧美一区二区三区高清视频| 国产精品久久久久久久久久白浆| 久久国产99| 国产精品99久久免费| 亚洲一区区二区| 日本久久二区| 国产婷婷精品| 国产精品男女| 欧美日韩一区二区三区不卡视频| 日韩精品欧美| 中文字幕日韩亚洲| 四虎国产精品免费观看| 久久视频一区| 激情五月色综合国产精品| 久久激情网站| 精品国产91| 久久精品欧洲| 精品一区二区三区亚洲| 国产精品欧美在线观看| 爽好多水快深点欧美视频| 在线一区视频| 日本欧美韩国一区三区| 精品日韩视频| 久久福利毛片| 国产精品视频首页| 日产精品一区二区| 天堂中文在线播放| 国产精品久久免费视频| 亚洲精品九九| 日韩理论片av| 日韩欧美四区| 日韩精品一二三区| 国产极品模特精品一二| 国产一区二区三区四区二区| 婷婷激情图片久久| 日韩区一区二| 久久精品国产99国产精品| 国产一卡不卡| 日韩高清一区在线| 综合一区二区三区| 精品捆绑调教一区二区三区| 欧美精品aa| 日本亚洲视频| 婷婷综合社区| 日本一二区不卡| 久久先锋影音| 欧美日韩高清| 国产日韩精品视频一区二区三区| 91成人在线网站| 国产欧美日韩影院| 青青青免费在线视频| 日产欧产美韩系列久久99| 99国产精品| 欧美13videosex性极品| 91麻豆国产自产在线观看亚洲| 欧美日韩视频| 久久精品观看| 国产午夜一区| 免费精品视频在线| 日韩国产激情| 国产第一亚洲| 在线亚洲自拍| 蜜桃av.网站在线观看| 亚洲资源在线| 热久久久久久久| 日韩av网站免费在线| 蜜臀久久99精品久久久画质超高清 | 精品国产成人| 国产亚洲激情| 国产一区二区视频在线看| 免费不卡中文字幕在线| 亚洲一区二区三区久久久| 一区久久精品| 成人啊v在线| 韩国女主播一区二区三区| 国产图片一区| 久久亚洲视频| 国产成人77亚洲精品www| 桃色av一区二区| 91tv亚洲精品香蕉国产一区| 久久亚洲在线| 91精品1区| 亚洲四虎影院| 激情综合婷婷| 精品久久久网| 欧美精品国产白浆久久久久| 久久国产中文字幕| 国产66精品| 亚洲在线网站| 久久99影视| av综合电影网站| 久久蜜桃资源一区二区老牛| 国产不卡精品在线| 女生影院久久| 日本久久成人网| 国产99精品一区| 视频二区不卡| 亚洲自啪免费| 91精品视频一区二区| 在线看片国产福利你懂的| 久久久久国产精品一区二区| 伊人久久大香线蕉av不卡| 蜜桃视频一区二区三区| 中文不卡在线| 国产精品麻豆成人av电影艾秋| 亚洲精品四区| 日韩视频一区| 91亚洲国产高清| 亚洲精选成人| 欧美成人精品午夜一区二区| 色综合狠狠操| 超碰99在线| 亚洲免费毛片| 神马日本精品| 女人天堂亚洲aⅴ在线观看| 伊人精品在线| 国产精品分类| 一区二区三区四区日本视频| 老司机久久99久久精品播放免费| 亚洲www免费| 欧洲毛片在线视频免费观看| 激情久久中文字幕| 伊人精品视频| 亚洲18在线| 久久在线91| 日韩精品诱惑一区?区三区| 日韩亚洲在线| 好吊日精品视频| 免费观看在线综合| 日本aⅴ精品一区二区三区| 久久青草久久| 亚洲精品乱码| 男女性色大片免费观看一区二区| 国产一区二区高清| 视频一区在线视频| 精品欧美日韩精品| 乱人伦精品视频在线观看| 日韩在线观看一区| 国产一区二区三区四区二区| 色乱码一区二区三区网站| 国产精品99久久免费| 日韩av不卡一区二区| 日本亚洲欧美天堂免费| 中文字幕av一区二区三区四区| 日本中文字幕视频一区| 午夜国产精品视频免费体验区| 一级欧洲+日本+国产| 美国三级日本三级久久99 | 亚洲一区二区三区高清不卡| 久久最新视频| 久久久久伊人| 水蜜桃精品av一区二区| 久久一区二区三区电影| 日韩1区2区日韩1区2区| 日韩中文字幕麻豆| 91精品国产自产精品男人的天堂| 日本成人中文字幕在线视频| 麻豆精品国产91久久久久久| 免费在线观看一区| 国产成人77亚洲精品www| 午夜亚洲一区| 久久国产尿小便嘘嘘| 夜夜嗨一区二区| 亚洲一二av| 亚洲午夜视频| 精品视频久久| 久久久久久夜| 女人天堂亚洲aⅴ在线观看| 精品美女久久| 天堂久久av| 伊人网在线播放| 四虎影视精品| 国产精品第十页| 伊人久久一区| 色婷婷狠狠五月综合天色拍|