当前位置: 首页 > news >正文

网站建设维护问题乔拓云网站建设

网站建设维护问题,乔拓云网站建设,小熊猫seo博客,个人简历电子版可编辑Openfeign配置与使用 前言介绍openfeign使用openfeign导入依赖启动类正式使用测试结果 前言 在springcloud中消费者项目需要调用提供者项目的接口,一开始用的是RestTemplate中的方法。但是RestTemplate进行远程调用时,直接调用controller层的接口&#…

Openfeign配置与使用

    • 前言
    • 介绍openfeign
    • 使用openfeign
      • 导入依赖
      • 启动类
      • 正式使用
      • 测试结果

前言

在springcloud中消费者项目需要调用提供者项目的接口,一开始用的是RestTemplate中的方法。但是RestTemplate进行远程调用时,直接调用controller层的接口,不符合分层的习惯,一般习惯在controller从调用service的接口。

介绍openfeign

Openfeign是springcloud提供的一个声明式http客户端,它使得调用远程服务就想调用本地服务一样,只需要创建一个接口并添加一个注解即可。
feign的负责均衡默认集成了ribbon,所以在nacos下使用feign,默认实现了负载均衡。

使用openfeign

测试时,我们在消费者项目中调用提供者项目的端口。依赖和启动类中的注解,在两个子项目中都需要。

导入依赖

我用的springcloud alibaba的版本是2.2.6.RELEASE

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

启动类

在启动类中增加注解@EnableFeignClients

@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
public class StartNacosProvider {public static void main(String[] args) throws Exception {SpringApplication.run(StartNacosProvider.class, args);}
}
@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
public class StartNacosConsumer {public static void main(String[] args) throws Exception {SpringApplication.run(StartNacosConsumer.class, args);}
}

正式使用

在消费者项目中调用提供者的controller接口,所以我们在消费者项目中写feign相关的接口。新建一个feign文件夹,在里面新增一个interface类。

@FeignClient(value = "nacos-provider")
public interface ConsumerFeign {@RequestMapping(value = "/nacos/provider/get/{id}",method = RequestMethod.GET)public String getNacosProvider(@PathVariable Integer id);
}

下面来解释一下
1)

@FeignClient(value = "nacos-provider")

nacos-provider 为提供者项目在nacos注册中心中注册的项目名称
2)

@RequestMapping(value = "/nacos/provider/get/{id}",method = RequestMethod.GET)public String getNacosProvider(@PathVariable Integer id);

为需要调用的提供者项目中的controller层接口。在提供者项目中该接口在controller层是这么写的

    @RequestMapping(value = "/nacos/provider/get/{id}",method = RequestMethod.GET)public String getNacosProvider(@PathVariable Integer id){return "使用provider中的方法,端口号:"+port+",传来参数:"+id;}

在消费者项目的controller就可以实现上面所写的接口。springcloud会为ConsumerFeign接口类生成一个代理实现类,不需要人为创建。

@RestController
public class ConsumerController {@Autowiredprivate RestTemplate restTemplate;@Autowiredprivate ConsumerFeign consumerFeign;// 使用RestTemplate调用provider项目接口@RequestMapping(value = "/nacos/consumer/get/{id}",method = RequestMethod.GET)public String getNacosConsumer(@PathVariable Integer id){return restTemplate.getForObject("http://nacos-provider/nacos/provider/get/"+id,String.class);}// 使用feign调用provider项目接口@RequestMapping(value = "/nacos/consumer/feign/get/{id}",method = RequestMethod.GET)public String getNacosConsumerFeign(@PathVariable Integer id){return consumerFeign.getNacosProvider(id);}
}

provider项目中被调用的controller层接口

    @RequestMapping(value = "/nacos/provider/get/{id}",method = RequestMethod.GET)public String getNacosProvider(@PathVariable Integer id){return "使用provider中的方法,端口号:"+port+",传来参数:"+id;}

测试结果

在这里插入图片描述
可以看到,我调用的是consumer项目中的接口,而实际输出结果显示,调用provider项目接口调用成功。

http://www.yidumall.com/news/92276.html

相关文章:

  • 做商城网站建设哪家好网站推广怎么做有效果
  • 厦门网站建设外包公司360优化大师旧版本
  • 从哪个网站找钢做的微商域名注册需要哪些条件
  • 网站建设商北京优化靠谱的公司
  • 国外网站空间哪个好利尔化学股票股吧
  • 服务商是什么意思武汉seo网站优化技巧
  • 高端建站费用比较好的网络推广平台
  • 龙岩特色广州seo工资
  • 小公司怎么做网站关键词推广优化排名品牌
  • 北京社区网站建设网站建设优化的技巧
  • 网页设计与制作简答题答案北海百度seo
  • 网站在线支付免费培训机构管理系统
  • 广州黄埔建网站百度一下 你知道首页
  • 跨境电商购物网站山东百度推广
  • 装修公司需要多少钱seo具体是什么
  • 有没有做网页接单的网站百度怎么注册公司网站
  • 论坛型网站怎么做百度推广获客
  • 网站推广方法有哪些深圳百度推广seo公司
  • 云主机 asp 网站谷歌推广代理
  • 做网站哪些公司比较靠谱seo工具不包括
  • centos6.6做网站十大软件免费下载网站排行榜
  • 佛山企业网站建设工作室网络营销推广方案
  • 做新闻网站盈利深圳龙岗区优化防控措施
  • 门业网站模板百度贴吧的互动社区
  • 淘宝的网站建设怎么建怎么去优化关键词
  • wordpress xml 导入失败珠海网站seo
  • 淘客网站如何做关键字搜索软件
  • 网站页面优化方法网络查询网站
  • 合肥中小型企业网站建设方案模板谷歌推广公司哪家好
  • 婚礼礼服网站界面设计google关键词挖掘工具