我在Eureka和Zuul的微服务项目中使用Spring Cloud。我想使用Feign客户端在我的微服务之间进行通信。假设我有一个微服务 Microservice1 和 Microservice2 。另外,我有Eureka微服务和Zuul微服务。
Zuul配置如下:
zuul:
ignoredServices: "*"
sensitiveHeaders: Authorization
routes:
empty_calls:
path: /
serviceId: microservice1
microservice1:
path: /microservice1/**
serviceId: microservice1
microservice2:
path: /microservice2/**
serviceId: microservice2
host:
connect-timeout-millis: 10000
socket-timeout-millis: 60000
在我的Microservice2中,我有以下Feign客户端:
@FeignClient(name = "microservice1")
public interface Microservice1Client {
@RequestMapping(value = "/test/this_is_a_test",
method = RequestMethod.POST,
consumes = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
ResponseEntity<Boolean> addTestObject(@RequestBody List<String> userMails);
}
我的问题如下:我希望假装客户端通过例如调用我的REST服务本地主机:8080 / microservice1 /测试/ this_is_a_test。相反,它会调用“http://microservice1/test/this_is_a_test”。我不想使用url属性手动配置feign客户端 - 它在其他应用程序中自动运行,但不适用于此特定配置。有人可以帮我吗?
修改
Eureka仪表板: