场景:
前面已经建立好了服务注册发现中心,也创建了2个一样的服务A和B(我在代码中是AAA和BBB).
然后就可以提供Feign进行调用,正常显示数据和页面。关于负载均衡和对象传递,请继续看。
第一步、创建一个项目Feign,添加依赖:
org.springframework.cloud
spring-cloud-starter-eureka-server
org.springframework.cloud
spring-cloud-starter-feign
com.fasterxml.jackson.datatype
jackson-datatype-jsr310
第二步、配置Feign 注意端口冲突
server.port=8083
#配置EurekaServer的地址
eureka.client.serviceUrl.defaultZone=http://localhost:8899/eureka/
spring.application.name=FeignRibbon
第三步、在启动类添加注解 @EnableFeignClients和 @EnableDiscoveryClient 用于启用Feign并把feign当服务注册到注册中心。
下面开始演示Feign如何调用服务AAA和BBB.大致流程是:
1. Feigin和服务提供方AAA/BBB中公共的实体需要在3个项目中都有,生产项目会打成公共jar引用
2.Feigin写一个接口,这个接口里面的方法不需要实现,方法名称和AAA中Controller里的测试方法名一样,返回值一样。
3.Feign中创建一个正常的