麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > Java > 正文

使用Spring Cloud Feign遠程調用的方法示例

2024-07-14 08:42:14
字體:
來源:轉載
供稿:網友

在Spring Cloud Netflix棧中,各個微服務都是以HTTP接口的形式暴露自身服務的,因此在調用遠程服務時就必須使用HTTP客戶端。我們可以使用JDK原生的URLConnection、Apache的Http Client、Netty的異步HTTP Client, Spring的RestTemplate。但是,用起來最方便、最優雅的還是要屬Feign了。

Feign簡介

Feign是一個聲明式的Web服務客戶端,使用Feign可使得Web服務客戶端的寫入更加方便。 
它具有可插拔注釋支持,包括Feign注解和JAX-RS注解、Feign還支持可插拔編碼器和解碼器、Spring Cloud增加了對Spring MVC注釋的支持,并HttpMessageConverters在Spring Web中使用了默認使用的相同方式。Spring Cloud集成了Ribbon和Eureka,在使用Feign時提供負載平衡的http客戶端。

Spring Cloud Feign簡介參考:http://www.companysz.com/article/133773.htm

根據專家學者提供的賬號密碼,要在用戶表注冊一個專家學者賬號(用戶和專家學者不同的數據庫)

在userContorller.java寫一個方法:注冊專家學者賬號

/** * 專家學者注冊 *  * @param username * @param password * @return */ @ApiOperation(value = "專家學者注冊") @RequestMapping(value = "/registExpert", method = RequestMethod.POST) public long registExpert(@RequestParam("username") String username, @RequestParam("password") String password) { User user = new User(); user.setUsername(username); user.setPassword(password); userService.insertSelective(user); long userId = user.getUserId(); return userId; }

UserClient.java(這里的接口和要遠程調用的controller方法聲明一樣(此處是UserController.java),可直接復制過來,如下所示)

package com.lgsc.cjbd.expert.remote.client; import org.springframework.cloud.netflix.feign.FeignClient;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RequestParam; import com.lgsc.cjbd.vo.Response; @FeignClient(name = "cjbd-user", fallback = UserClientFallback.class)public interface UserClient {  /** * 注冊專家學者 */ @RequestMapping(value = "/user/user/registExpert", method = RequestMethod.POST) long registExpert(@RequestParam("username") String username, @RequestParam("password") String password);}

以及失敗回調用UserClientFallBack.java

package com.lgsc.cjbd.expert.remote.client; import org.apache.logging.log4j.LogManager;import org.apache.logging.log4j.Logger;import org.springframework.stereotype.Component; import com.lgsc.cjbd.vo.Response; /** * 失敗回調 *  * @author yeqj */@Componentpublic class UserClientFallback implements UserClient { private static Logger log = LogManager.getLogger(UserClientFallback.class);  @Override public long registExpert(String username, String password, String realName) { log.error("遠程調用失敗,注冊專家學者失敗,參數:[username=" + username + ",password=" + password + "]"); return 0; }}

之后再專家學者Service層傳遞專家學者用戶名和密碼過去,在用戶表新增專家學者注冊記錄

userClient.registExpert(username, password);

即可完成遠程調用

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 夜间福利视频 | 国产91精品一区二区麻豆亚洲 | 欧美a在线看 | 日韩在线毛片 | 久久人人做 | 久久精品一区视频 | 精品一区二区久久久久久按摩 | 成人在线免费看 | 精品视频一区二区三区四区 | 亚洲小视频网站 | 国产色妞影院wwwxxx | 精国产品一区二区三区四季综 | 久久91亚洲人成电影网站 | 免费观看黄视频 | 欧美日韩国产一区二区三区在线观看 | 亚洲一区在线免费视频 | 日韩一级免费毛片 | 成人三级电影在线 | 双性精h调教灌尿打屁股的文案 | arabxxxxvideos | 国产成人精品午夜视频' | 成人在线观看一区 | 国产成人精品一区二区三区电影 | 欧美成人精品一区二区三区 | 精品无吗乱吗av国产爱色 | 曰批全过程120分钟免费69 | 日本一区二区不卡在线观看 | 羞羞的视频在线免费观看 | 国产精品一二区 | 国产毛片在线看 | 2级毛片| 成人免费福利视频 | 激情久久免费视频 | 成人福利在线免费观看 | 欧美激情精品久久久久久黑人 | 国产成人精品网站 | 中文区永久区 | 玖玖视频精品 | 请播放一级毛片 | 国产成人自拍小视频 | 九九视频久久 |