Feign

1.简介

Feign可以把Rest的请求进行隐藏,伪装成类似SpringMVC的Controller一样。你不用再自己拼接url,拼接参数等等操作,一切都交给Feign去做。

项目主页:https://github.com/OpenFeign/feign

在这里插入图片描述

2.快速入门

使用 Feign 实现消费者,我们通过下面步骤进行:
第一步:创建普通 Spring Boot 工程
把接口放在通用的接口层、常量类、model的项目中
第二步:添加依赖
要 添 加 的 依 赖 主 要 是 spring-cloud-starter-netflix-eureka-client 和 spring-cloud-starter-feign,如下:

org.springframework.cloud spring-cloud-starter-openfeign **第三步:声明服务** 定义一个 GoodsRemoteClient 接口,通过@FeignClient 注解来指定服务名称,进而绑定服务,然后再通过 SpringMVC 中提供的注解来绑定服务提供者提供的接口, 如下: @FeignClient("34-SPRINGCLOUD-SERVICE-GOODS") public interface GoodsService { @RequestMapping("/service/goods") public String goods(); } 这相当于绑定了一个名叫 34-SPRINGCLOUD-SERVICE-GOODS (这里 34-SPRINGCLOUD-SERVICE-GOODS大小写34-springcloud-service-goods 都可以 ) 的服务提供者提供的/service/goods 接口;

第四步:添加注解
在项目入口类上添加@EnableFeignClients 注解表示开启 Spring Cloud Feign的支持功能;
第五步:使用 Controller 中调用服务
接着来创建一个 Controller 来调用上面的服务,如下:
public class GoodsController {

@Autowired
private GoodsService goodsService;

/**
 * 使用feign进行调用
 *
 * @return
 */
@RequestMapping("/cloud/goodsFeign")
public ResultObject goodsFeign() {
    //调用远程的一个controller, restful的调用
    return goodsService.goods();
}

}
第六步:属性配置
在 application.properties 中指定服务注册中心、端口号等信息,如下:
server.port=8090

#打开所有的web访问端点
management.endpoints.web.exposure.include=*

#此实例注册到eureka服务端的name
spring.application.name=34-springcloud-service-feign

#不注册自己,我是一个消费者,别人如果不调用我的话,我就不用注册
eureka.client.register-with-eureka=false
#每间隔2s,向服务端发送一次心跳,证明自己依然"存活"
eureka.instance.lease-renewal-interval-in-seconds=2
#告诉服务端,如果我10s之内没有给你发心跳,就代表我故障了,将我踢出掉
eureka.instance.lease-expiration-duration-in-seconds=10
#告诉服务端,服务实例以IP作为链接,而不是取机器名
eureka.instance.prefer-ip-address=true
#告诉服务端,服务实例的唯一ID
eureka.instance.instance-id=34-springcloud-service-feign

#eureka注册中心的连接地址
#eureka.client.service-url.defaultZone=http://eureka8761:8761/eureka
#eureka.client.service-url.defaultZone=http://eureka8761:8761/eureka,http://eureka8762:8762/eureka,http://eureka8763:8763/eureka
eureka.client.service-url.defaultZone=http://192.168.10.128:8761/eureka,http://192.168.10.128:8762/eureka,http://192.168.10.128:8763/eureka
第七步:测试
依次启动注册中心、服务提供者和 feign 实现服务消费者,然后访问如下地址:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值