<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- eureka客户端 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-feign</artifactId> <version>1.4.7.RELEASE</version> </dependency>
application.yml 配置:
server: port: 8081 spring: application: name: feign eureka: instance: hostname: localhost client: service-url: defaultZone: http://localhost:8761/eureka fetch-registry: true
SpringBootApplication启动类上加注解@EnableFeignClients 启动feign
定义一个feign接口类,通过@ FeignClient(“服务名”),来指定调用哪个服务:
@FeignClient(value = "user") public interface TestService { @RequestMapping("login") public ReturnResult login(UserLoginEntity userLoginEntity); }
之后建立一个controller:
@Autowired private TestService testService; @RequestMapping("login") public ReturnResult login(@Validated @RequestBody UserLoginEntity userLoginEntity) { return testService.login(userLoginEntity); }
就可以通过controller访问到 user 微服务下的"login"接口