前面两节搭了一个eureka server和一个eureka client--orderservice。这次再搭建一个微服务userservice,利用feign调用orderservice的接口获取数据,实现微服务之间的相互调用。
打开idea,创建project:
点击next,选择依赖Spring Cloud Discovery->Eureka Discovery Client,Spring Cloud Routing->OpenFeign:
点击finish,创建好工程。
打开pom.xml,主要依赖如下图:
在src/main/resources/application.properties文件中添加配置项:
#端口号 server.port=8082 #应用名,也是注册后的服务名,微服务调用可以通过此服务名 spring.application.name=userservice #注册中心url,和eureka server保持一致 eureka.client.service-url.defaultZone=http://localhost:8761/eureka
启动类添加注解:
@EnableEurekaClient:eureka客户端 @EnableFeignClients: 开启feign
创建实体类:
@data为lombok注解,省去了写getter,setter等方法
由于feign是通过接口进行调用的,创建feign接口:
@FeignClient("orderservice"): 调用orderservice微服务
@GetMapping("/order/getOrderInfo"): 对应orderservice微服务里面的接口
这样feign调用orderserivce接口就定义好了。
创建service,利用feign去调orderserivce接口获取数据:
创建controller,对外提供接口,获取数据:
此userservice接口调用orderservice接口获取数据,已搭建完毕。启动项目,查看userservice是否注册到注册中心:
通过截图,可以看到orderservice和userservice都已注册,再用postman调用userservice接口,查看是否能获取到数据:
数据已经获取到,userservice微服务也搭建好了。