Zuul路线定义

时间:2016-11-15 19:17:04

标签: routes netflix-zuul hystrix contextpath

我在让Zuul路由配置正确方面遇到了一个小问题。这是我目前所拥有的

 zuul:
  routes:
    microservice:
      path: /service/*
      serviceId: session
      sensitiveHeaders: Cookie,Set-Cookie,Authorization
microservice:
  ribbon:
    listOfServers: localhost:8090

在Microservice,我有一个像这样的Restcontroller:

@RestController
@RequestMapping("/service")

我在RestController中有多个端点,例如:

@RequestMapping(method = { RequestMethod.GET}, value = "/service1", produces = "application/json")

现在当我发送localhost:8080/service/service1之类的请求时,它没有达到预期的端点。它将请求路由到localhost:8090/service1(没有任何内容正在运行)。

如果我改变像这样的上下文路径

,它会很好用
@RestController
@RequestMapping("/service")

@RestController
@RequestMapping("/")

我尝试过更改路径       路径:/ service / *

path: /service/**

但没有效果。

另一种选择是强制过滤级别的路由,但我认为应该可以直接将localhost:8080/service/service1路由到微服务。有关如何在Zuul配置中完成此操作的任何建议。

我无法使用URL选项,因为它与我正在使用的后备版本不兼容。

1 个答案:

答案 0 :(得分:1)

完成任务的最简单方法是停止前缀剥离;看起来默认情况下已启用。

path: /service/**
stripPrefix: false