服务间的通信 RestTemplate和Feign

服务间的通信 RestTemplate和Feign,第1张

概述1.RestTemplate    Spring RestTemplate 是 Spring 提供的用于访问 Rest 服务的客户端,RestTemplate 提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效率,所以很多客户端比如 Android或者第三方服务商都是使用 RestTemplate 请求 restful 服务。   定义一个RestTemplate的Bean,设置

1.RestTemplate

   Spring RestTemplate 是 Spring 提供的用于访问 Rest 服务的客户端,RestTemplate 提供了多种便捷访问远程http服务的方法,能够大大提高客户端的编写效率,所以很多客户端比如 AndroID或者第三方服务商都是使用 RestTemplate 请求 restful 服务。

  定义一个RestTemplate的Bean,设置成LoadBalanced

  

@Configuration
public
class RestTemplateConfiguration {@Bean@LoadBalancedpublic RestTemplate restTemplate(){ return new RestTemplate(); }}

调用时注入这个bean

@autowiredprivate RestTemplate restTemplate;public String getProduct(string productID) {    String response=restTemplate.getForObject("http://Product/getProduct/" + productID,String.class); //Product为应用名字    return response;}

2.Fegin

  

Feign是一种负载均衡的http客户端,使用Feign调用API就像调用本地方法一样,从避免了 调用目标微服务时,需要不断的解析/封装Json 数据的繁琐。
Fegin是一个声明似的web服务客户端,它使得编写web服务客户端变得更加容易。使用Fegin创建一个接口并对它进行注解。它具有可插拔的注解支持包括Feign注解与JAX-RS注解,Feign还支持可插拔的编码器与解码器,Spring Cloud 增加了对 Spring MVC的注解,Spring Web 默认使用了httpMessageConverters,Spring Cloud 集成 Ribbon 和 Eureka 提供的负载均衡的http客户端 Feign。
 

引入依赖 

<dependency>    <groupID>org.springframework.cloud</groupID>    <artifactID>spring-cloud-starter-feign</artifactID></dependency>

 启动类上添加注解  @EnableFeignClIEnts

定义接口 

 

@FeignClIEnt(name= "Product")  //应用名称public interface ProductClIEnt {    @GetMapPing("/getProduct")    public String getProduct(String productID);}

在调用的地方 注入

 @autowired   private ProductClIEnt clIEnt; @GetMapPing(value = "getProduct")  public String getProduct(String productID) {        return clIEnt.getProduct(productID);  }
总结

以上是内存溢出为你收集整理的服务间的通信 RestTemplate和Feign全部内容,希望文章能够帮你解决服务间的通信 RestTemplate和Feign所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1121555.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存