0

我在 Eureka 和 Zuul 的微服务项目中使用 Spring Cloud。我想使用 Feign 客户端在我的微服务之间进行通信。假设我有一个微服务Microservice1Microservice2。此外,我还有 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);

}

我的问题如下:我希望 feign 客户端通过例如 localhost:8080/microservice1/test/this_is_a_test 调用我的 REST 服务。相反,它调用“ http://microservice1/test/this_is_a_test ”。我不想使用 url 属性手动配置 feign 客户端 - 它在其他应用程序中自动运行,但不适用于此特定配置。有人可以在这里帮助我吗?

编辑

尤里卡仪表板:

在此处输入图像描述

4

0 回答 0