springcloud openfeign用法,springcloudfeign原理

  springcloud openfeign用法,springcloudfeign原理

  

目录

一、理解及原理1.1理解1.2原理二、假装搭建实现步骤三、配置文件(pom.xml)四、程序代码五、结果演示

 

  

一、理解及原理

 

  

1.1理解

假装基于接口注解的方式,一个超文本传送协议(超文本传输协议的缩写)请求调用的轻量级框架

 

  假装是出租DVD(网站)开发的声明式、模板化的超文本传送协议客户端,假装可以帮助我们更快捷、优雅地调用HTTP API。

  假装是一种声明式、模板化的超文本传送协议客户端(仅在应用程序客户端中使用)。声明式调用是指,就像调用本地方法一样调用远程方法,无需感知操作远程超文本传送协议(超文本传输协议的缩写)请求

  

1.2原理

 

  

二、Feign搭建实现步骤

创建跳羚基础项目在注册中心(尤里卡)配置的基础上,进行配置假装

 

  

三、配置文件(pom.xml)

基础配置:

 

  dependencygroupidorg。spring框架。cloud/groupid artifact id spring-cloud-starter-open feign/artifact id/dependency整体:

  dependencies dependencygroupidorg。spring框架。boot/groupidatifactidspring-boot-starter-web/artifact id/dependencydependencycgroupidorg。spring框架。boot/groupid at-starter-test/artifactIdscopetest/scope/dependency dependencycgroupidorg。spring框架。boot/groupidatifactidspring-boot-starter-data-JPA/artifactIdversionRELEASE/versionscopecompile/scope/dependencydependencycependencycgroupidorg。spring框架。云

  ><scope>runtime</scope></dependency><!-- Swagger --><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>2.4.0</version></dependency><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.4.0</version></dependency><dependency><groupId>com.github.xiaoymin</groupId><artifactId>swagger-bootstrap-ui</artifactId><version>1.8.7</version></dependency><!--添加lombok--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>RELEASE</version><scope>compile</scope></dependency><dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>20.0</version></dependency><dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>19.0</version><scope>compile</scope></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>1.3.2</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><!--pagehelper分页--><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.2.11</version></dependency><dependency><groupId>commons-codec</groupId><artifactId>commons-codec</artifactId><version>1.11</version></dependency><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.6</version></dependency><dependency><groupId>com.google.code.gson</groupId><artifactId>gson</artifactId><version>2.8.6</version></dependency><!--验证码https://blog.csdn.net/qq_41853447/article/details/105893567--><dependency><groupId>com.github.whvcse</groupId><artifactId>easy-captcha</artifactId><version>1.6.2</version></dependency><!--security权限管理--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency></dependencies>

 

  

四、程序代码

在启动类上加上@EnableFeignClients,开启Feign的应用

 

  

@EnableEurekaServer@EnableSwagger2@SpringBootApplication@EnableFeignClients(basePackages = "com.personal.pserver")public class PserverApplication {public static void main(String[] args) {SpringApplication.run(PserverApplication.class, args);System.out.println("========================person-server已启动========================");}}

启动类添加完成之后,在指定需要访问的service注册使用,

 

  见其他博主讲解:

  在通过Feign来实现远程服务调用时,需要提供一个本地接口来继承服务标准工程提供的服务接口。这个本地接口不需要给予任何实现,在底层Spring容器会为这个接口提供一个基于JDK实现的代理对象,这个代理对象由Feign技术提供具体的HandlerInterceptor逻辑,实现远程的调用。实现过程类似通过代码调用LoadBalancerClient实现的Rest远程访问。而本地接口继承服务标准接口后,需要提供注解@FeignClient,注解的属性name代表当前接口要调用的远程服务的应用命名。

  

 

  

@RestController@Api(tags = "平台基本信息管理")@RequestMapping("/v1/pserver/platform/manager")public class PlatformController {@Autowiredprivate PPlatformService platformService;@ApiOperation(value = "获取平台基本信息", notes = "获取平台基本信息", httpMethod = "GET")@RequestMapping(value = "/findPlatformInfo",method = RequestMethod.GET)public PPlatform findPlatformInfo(@RequestParam("platformId") String platformId) {PPlatform pPlatform = platformService.findOnePlatformById(platformId);return pPlatform;}}
@FeignClient(name="p-platform-service")public interface PPlatformService {/**** 获取平台基本信息* @param platformId* @return*/@RequestMapping(value="/findPlatformInfo",method = RequestMethod.GET)PPlatform findOnePlatformById(@RequestParam(value="platformId") String platformId);}

 

  

五、结果演示

 

  

 

  到此这篇关于SpringCloud使用Feign实现动态路由操作的文章就介绍到这了,更多相关Feign动态路由内容请搜索盛行IT以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: