我在让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选项,因为它与我正在使用的后备版本不兼容。
答案 0 :(得分:1)
完成任务的最简单方法是停止前缀剥离;看起来默认情况下已启用。
path: /service/**
stripPrefix: false