首页 > 其他分享 >springcloud OpenFeign的使用

springcloud OpenFeign的使用

时间:2023-04-26 11:58:59浏览次数:34  
标签:String OpenFeign springcloud tt 接口 class 使用 public

在这里只记录OpenFeign关键的使用步骤,A、B两个项目是基于springboot、springcloud实现的,并且在nacos中 有服务注册。

第一步:导入依赖

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
            <version>2.2.8.RELEASE</version>
        </dependency>

第二步:在springboot的启动类上面加一个注解@EnableFeignClients

@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
public class NacosConsumerDemoApplication {

    @Bean
    @LoadBalanced
    public RestTemplate restTemplate(){
        return new RestTemplate();
    }

    public static void main(String[] args) {
        SpringApplication.run(NacosConsumerDemoApplication.class, args);
    }

}

第三步:在A项目中实现一个服务提供端的接口,等会被调用

@RestController
@RefreshScope
public class UserController {
    
    @Value("${spring.datasource.username}")
    private String username;

    @GetMapping("/tt")
    public String tt() {
        return username;
    }
}

第四步:在B项目中创建 OpenFeign 与服务提供者的调用接口,这里不需要关系接口的具体实现,定义一下就行。关键注解@FeignClient

//value中放的是被调用接口的所在服务名
@FeignClient(value = "provide")
public interface ProvideClient {

    @GetMapping("/tt")
    public String tt();


}

第五步: 在B项目中,第四步封装好了要调用的接口,服务调用者就可以直接调用了

@RestController
@RequestMapping("/auth")
@RefreshScope
public class ConsumerController {

    @Autowired
    RestTemplate restTemplate;

    @Autowired
    ProvideClient provideClient;
    
    @GetMapping("/get")
    public String get() {
        String s = provideClient.tt();
        System.out.println("openfeign:" + s);
        return s;
    }

}

标签:String,OpenFeign,springcloud,tt,接口,class,使用,public
From: https://www.cnblogs.com/lyd447113735/p/17355187.html

相关文章

  • 使用VBS打开程序和关闭程序
    下面这个是先执行程序后,然后再结束程序。DimWshSetWsh=WScript.CreateObject("WScript.Shell")'下行是设置延时启动时间5000等于5秒WScript.Sleep(5000)'下行引号内填写服务器上批处理文件的共享路径Wsh.Run"\\服务器\fuwu.exe",false,false'下行是设置延时清除时间......
  • centos7使用docker部署.net 6项目
    由于前阵子购买了腾讯云服务器,现在尝试在linux服务器上使用docker部署.net项目第一步,首先是要在服务器上安装docker,宝塔里边是可以直接安装的,如果是别的话,需要你网上找资料用命令安装,其实也是可以的  第二步,先生成好docker文件,将你的解决方案源代码放到一个指定目录(比如......
  • 线程使用例子
    点击查看代码packagecom.ly.fn.biz.ht.esign.expand.core.config;importcom.google.common.base.Joiner;importjava.math.BigDecimal;importjava.text.DecimalFormat;importjava.text.NumberFormat;importjava.text.ParseException;importjava.util.ArrayList;i......
  • djangorestframework-jwt使用
    服务端配置安装第三方库pipinstalldjangorestframework-jwt在settings.py中配置JWT##可以在这里配置全局的认证,也可以在视图中单独配置。REST_FRAMEWORK={'DEFAULT_AUTHENTICATION_CLASSES':['rest_framework_jwt.authentication.JSONWebTokenAuthentic......
  • python 使用selenium 不开启浏览器
    selenium不启动浏览器模式打开浏览器再启动会浪费时间,对爬虫的性能也是个影响,还有一种就是不打开浏览器。如下参数是针对chrome的全局参数,不能自定义参数。fromseleniumimportwebdriver#还有一些其他的参数'''#添加UAoptions.add_argument('user-agent="MQQBrowser/26......
  • 关于使用tcpdump命令抓包时网络接口的查询与指定
    第一步:首先可以通过tcpdump命令的--list-interfaces选项,列出系统中的所有网络接口(这个与ipaddr列出的还有略有点点差异)-D--list-interfacesPrintthelistofthenetworkinterfacesavailableonthesystemandonwhichtcpdumpcancapturepackets.......
  • 使用pycuda替换字符串,使用cuda替换字符串
    写一个python的cuda程序,实现字符串列表的字符串替换,把所有的123替换成xinyuuliu 以下是一个简单的PythonCUDA代码示例,用于实现字符串列表的字符串替换。它使用了NVIDIACUDA编程模型的一些基本概念和语法。#导入必要的模块importpycuda.autoinitimportpycuda.drive......
  • JEECG使用反向代理 积木报表无法正常使用的解决方法
    发现JEECG反向代理开启后  重设了Host头,导致积木框架的数据接口url拼接异常Nginx配置增加:#通过反向代理访问积木报表,Jeecg框架内的菜单配置需要写成绝对路径:http://localhost:3000/jeecg-boot/jmreport/list?token=${token}location^~/jeecg-boot/jmreport/{#p......
  • vue3中useRouter和useRoute的使用
    vue3路由新玩法useRoute和useRouter详解原文链接原来的vue2路由是通过this.$route和this.$router来控制的。现在vue3有所变化,useRoute相当于以前的this.$route,而useRouter相当于this.$router一、useRouter手动控制路由变化import{useRouter}from'vue-router'exportdef......
  • uniapp页面中的按钮使用分享功能
    https://www.codenong.com/cs109827730/......