No Data

openfeign测试

原创  作者:斩雪碎光阴  发布于:2022年11月17日  阅读量:272
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
  分类:  标签:

测试环境:window10+jdk11+Nacos 2.1.1+springboot2.6.13+Spring Cloud2021.0.4+Spring Cloud Alibaba2021.0.4.0+spring-cloud-openfeign3.1.4+spring-cloud-starter-loadbalancer3.1.4

作用:微服务间调用


一、文档、资源

Spring Cloud Alibaba中文文档:

https://github.com/alibaba/spring-cloud-alibaba/blob/2021.x/README-zh.md

openfeign消费者服务(ofi1):

链接: https://pan.baidu.com/s/1Y07p-d27HluVHtxRGOvULg

提取码:1111

生产者服务(ofi1-provider)

链接: https://pan.baidu.com/s/17PAzukGoGwwW4TgI1IgdFg

提取码:1111


二、项目搭建

1.服务包括:nacos注册配置中心服务、openfeign消费者服务(ofi1)、生产者服务(ofi1-provider)

2.nacos服务、生产者服务搭建方式:

https://sgybk.zxsgy.cn/1/article12

3.openfeign消费者服务:

bootstrap.properties配置:

# 应用名称

spring.application.name=ofi1

# 应用服务 WEB 访问端口

server.port=4005

#nacos地址

spring.cloud.nacos.config.server-addr=127.0.0.1:8848

在nacos配置列表增加配置文件:

Data ID:ofi1.properties

Group:DEFAULT_GROUP

配置格式:Properties

配置内容:

jeecg.path.upload=path2

加pom依赖:

          org.springframework.cloud

          spring-cloud-starter-loadbalancer

     

     

          org.springframework.cloud

          spring-cloud-starter-openfeign

     

加spring-cloud-starter-loadbalancer提供负载均衡支持

Ofi1Application增加注解:

@EnableFeignClients

用接口+注解调用生产者:

/**

* name:指定调用rest接口所对应的服务名

* path:指定调用rest接口所在的Controller指定的@RequestMapping

*/

@FeignClient(name = "ofi1-provider",path = "ofip")

public interface OpenFeignService {

  //声明需要调用的rest接口对应的方法

  @RequestMapping("/uploadPath")

  String ofipUploadPath();

}

在Controller中调用接口:

@Resource

  private OpenFeignService openFeignService;


  @Value("${jeecg.path.upload}")

  private String upLoadPath;

  @RequestMapping(value = "/uploadPath")

  public String uploadPath() {

      return upLoadPath;

  }


  @RequestMapping(value = "/uploadPath2")

  public String uploadPath2() {

      return openFeignService.ofipUploadPath();

  }

4.生产者服务

Controller中可访问的接口:

@Value("${jeecg.path.upload}")

  private String upLoadPath;

  @RequestMapping(value = "/uploadPath")

  public String uploadPath() {

      return upLoadPath;

  }

生产者服务中不需要引入spring-cloud-openfeign和spring-cloud-starter-loadbalancer


三、其他配置

可在消费者服务配置文件中配置openfeign

常用配置包括:

请求压缩、超时控制、日志打印


相关文章