广告
返回顶部
首页 > 资讯 > 精选 >FeignClient怎么通过配置变量调用配置文件url
  • 658
分享到

FeignClient怎么通过配置变量调用配置文件url

2023-07-02 13:07:13 658人浏览 独家记忆
摘要

这篇文章主要介绍“FeignClient怎么通过配置变量调用配置文件url”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“FeignClient怎么通过配置变量调用配置文件url”文章能帮助大家解决问

这篇文章主要介绍“FeignClient怎么通过配置变量调用配置文件url”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“FeignClient怎么通过配置变量调用配置文件url”文章能帮助大家解决问题。

通过配置变量调用配置文件url

application.yml 配置文件配置参数

feign:  sys: Http://127.0.0.1:8777

ISysFeignClient.java 使用@FeignClient时配置

@FeignClient(value = "sys",url = "${feign.sys}")public interface ISysFeignClient {     @GetMapping("/sys/queryPlatMenus")    List<Map<String, Object>> queryPlatMenus();}

这样部署开发时就可以只需要修改一处yml配置url就可以了。

调用指定的动态URL

1 创建demo1服务

pom.xml

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://Maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.5.3</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.demo</groupId><artifactId>demo1</artifactId><version>0.0.1-SNAPSHOT</version><name>demo1</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version><spring-cloud.version>2020.0.3</spring-cloud.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-WEB</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency><!-- eureka --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

application-dev1.yml

server:  port: 8111spring:  application:    name: ${APPLICATION_NAME:demo1}eureka:  client:    fetch-reGIStry: true    register-with-eureka: true    service-url:       defaultZone: http://localhost:18880/eureka  instance:    instance-id: ${spring.cloud.client.ip-address}:${server.port}    prefer-ip-address: true

application-dev2.yml

server:  port: 8112spring:  application:    name: ${APPLICATION_NAME:demo1}eureka:  client:    fetch-registry: true    register-with-eureka: true    service-url:      defaultZone: http://localhost:18880/eureka  instance:    instance-id: ${spring.cloud.client.ip-address}:${server.port}    prefer-ip-address: true

IndexController.java

package com.demo.demo1.controller;import org.springframework.beans.factory.annotation.Value;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class IndexController {    @Value("${server.port}")    private String port;    @GetMapping("/hello")    public String hello(){        System.out.println("进入" + port + "服务器");        return "返回的端口为:" + port;    }}

2 创建demo2服务

pom.xml 

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.5.3</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.demo</groupId><artifactId>demo2</artifactId><version>0.0.1-SNAPSHOT</version><name>demo2</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version><spring-cloud.version>2020.0.3</spring-cloud.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency><!-- eureka --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

application.yml

server:  port: 8113spring:  application:    name: ${APPLICATION_NAME:demo2}eureka:  client:    fetch-registry: true    register-with-eureka: true    service-url:       defaultZone: http://localhost:18880/eureka  instance:    instance-id: ${spring.cloud.client.ip-address}:${server.port}    prefer-ip-address: true

DemoFeign.java

package com.demo.demo2.Feign;import org.springframework.cloud.openfeign.FeignClient;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import java.net.URI;//@FeignClient(name = "DEMO1", url="EMPTY")@FeignClient(name = "DEMO1", url="http://localhost:8111")public interface DemoFeign {        @RequestMapping(value = "/hello", method = RequestMethod.GET)    String hello();        @RequestMapping(value = "/hello", method = RequestMethod.GET)    String hello1(URI uri);}

IndexController.java

package com.demo.demo2.controller;import com.demo.demo2.Feign.DemoFeign;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.RestController;import java.net.URI;@RestControllerpublic class IndexController {    @Autowired    private DemoFeign demoFeign;    @GetMapping("/testFeign")    public String testFeign(){        System.out.println("在demo2服务中,调用demo1的服务");        String resultStr = demoFeign.hello();        System.out.println("在demo2服务中,调用demo1的服务,返回的结果:" + resultStr);        return "在demo2服务中,调用demo1的服务,返回的结果:" + resultStr;    }    @GetMapping("/testFeign2")    public String testFeign2(@RequestParam String server) throws Exception{        String url = "";        if("1".equals(server)){            url = "http://localhost:8111";        }else if("2".equals(server)){            url = "http://localhost:8112";        }        System.out.println("在demo2服务中,调用demo1的服务" + url);        String resultStr = demoFeign.hello1(new URI(url));        System.out.println("在demo2服务中,调用demo1的服务,返回的结果:" + resultStr);        return "在demo2服务中,调用demo1的服务,返回的结果:" + resultStr;    }}

测试

指定服务器ip

http://localhost:8113/testFeign2?server=1

返回【在demo2服务中,调用demo1的服务,返回的结果:返回的端口为:8111】

http://localhost:8113/testFeign2?server=2

返回【在demo2服务中,调用demo1的服务,返回的结果:返回的端口为:8112】

使用默认的地址

http://localhost:8113/testFeign

返回【在demo2服务中,调用demo1的服务,返回的结果:返回的端口为:8111】 

关于“FeignClient怎么通过配置变量调用配置文件url”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: FeignClient怎么通过配置变量调用配置文件url

本文链接: https://www.lsjlt.com/news/342155.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • FeignClient怎么通过配置变量调用配置文件url
    这篇文章主要介绍“FeignClient怎么通过配置变量调用配置文件url”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“FeignClient怎么通过配置变量调用配置文件url”文章能帮助大家解决问...
    99+
    2023-07-02
  • FeignClient如何通过配置变量调用配置文件url
    目录通过配置变量调用配置文件url调用指定的动态URL1 创建demo1服务2 创建demo2服务测试通过配置变量调用配置文件url 1.application.yml 配置文件配置...
    99+
    2022-11-13
  • Ubuntu中怎么通过修改配置文件实现网络配置
    ...
    99+
    2023-06-13
  • linux环境变量配置文件怎么生效
    在Linux环境中,配置文件的生效方式取决于不同的配置文件和操作系统。1. 对于系统级别的环境变量配置文件,如`/etc/profi...
    99+
    2023-09-15
    linux
  • Springboot如何通过yml配置文件为静态成员变量赋值
    目录通过yml配置文件为静态成员变量赋值这里我强调一句Springboot静态变量读取yml配置信息解决方式1解决方式2通过yml配置文件为静态成员变量赋值 我们对springboo...
    99+
    2022-11-13
    Springboot配置变量 yml配置文件 静态成员变量赋值
  • SpringBoot怎么通过配置文件限制文件上传大小
    这篇文章主要介绍SpringBoot怎么通过配置文件限制文件上传大小,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!通过配置文件(yml,properties)限制文件上传大小properties类型配置文件设置#&n...
    99+
    2023-06-29
  • linux中环境变量配置在什么文件
    这篇文章主要介绍“linux中环境变量配置在什么文件”,在日常操作中,相信很多人在linux中环境变量配置在什么文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux中环境变量配置在什么文件”的疑惑有所...
    99+
    2023-07-02
  • SSIS中怎么通过环境变量配置数据源连接参数
    SSIS中怎么通过环境变量配置数据源连接参数,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Step 1: 创建SSIS包在Data Flo...
    99+
    2022-10-18
  • java怎么通过注解加载自定义配置文件
    在Java中,可以使用注解来加载自定义配置文件。具体步骤如下:1. 创建一个自定义的注解,用来标记需要加载的配置文件。```java...
    99+
    2023-09-17
    java
  • ngnix中怎么通过配置文件实现负载均衡
    今天就跟大家聊聊有关ngnix中怎么通过配置文件实现负载均衡,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。#user nobody;&nb...
    99+
    2022-10-19
  • Ubuntu配置文件怎么用
    小编给大家分享一下Ubuntu配置文件怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Ubuntu 配置文件系统初始化/etc/timezone 时...
    99+
    2023-06-16
  • 如何在nginx配置文件中使用环境变量
    这期内容当中小编将会给大家带来有关如何在nginx配置文件中使用环境变量,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。前言Nginx是一款面向性能设计的HTTP服务器,相较于Apache、lighttpd...
    99+
    2023-06-15
  • PHP中怎么通过修改php.ini配置文件上传大小
    今天就跟大家聊聊有关PHP中怎么通过修改php.ini配置文件上传大小,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。php.iniphp.ini文件保存了php的一些重要属性,例如现...
    99+
    2023-06-20
  • nacos配置中心远程调用读取不到配置文件怎么解决
    这篇文章主要介绍“nacos配置中心远程调用读取不到配置文件怎么解决”,在日常操作中,相信很多人在nacos配置中心远程调用读取不到配置文件怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”nacos配置...
    99+
    2023-06-26
  • springboot配置文件中属性变量引用方式@@解读
    目录springboot配置文件中属性变量引用@@引用属性变量方式之@@和${}的用法熟悉的环境区分配置方式@@到底是什么?${}和@@的使用总结springboot配置文件中属性变...
    99+
    2023-05-14
    springboot配置文件 springboot属性变量引用 springboot @@
  • nginx配置文件使用环境变量的操作方法
    前言 Nginx是一款面向性能设计的HTTP服务器,相较于Apache、lighttpd具有占有内存少,稳定性高等优势。 由于现在需要部署nginx的docker,希望nginx配置...
    99+
    2022-11-12
  • vue多环境配置之.env配置文件怎么使用
    这篇文章主要介绍“vue多环境配置之.env配置文件怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue多环境配置之.env配置文件怎么使用”文章能帮助大家解决问题。Vue之.env环境配置...
    99+
    2023-07-05
  • springboot配置文件中属性变量引用的方式是什么
    本文小编为大家详细介绍“springboot配置文件中属性变量引用的方式是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“springboot配置文件中属性变量引用的方式是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来...
    99+
    2023-07-05
  • thinkphp 中怎么跨模块调用配置文件信息
    thinkphp 中怎么跨模块调用配置文件信息,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。比如根目录下面/Conf/下面有config....
    99+
    2022-10-19
  • android通过配置文件设置应用安装到SD卡上的方法
    安装应用时,有时会出现存储空间不足的错误,这时就只能将应用安装到SD卡,在AndroidManifest.xml文件的manifest里面添加下面一行: 代码如下:andro...
    99+
    2022-06-06
    配置文件 过配 方法 安装 sd sd卡 Android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作