У меня небольшая проблема с правильной настройкой маршрута Zuul. Вот что у меня есть на данный момент
zuul:
routes:
microservice:
path: /service/*
serviceId: session
sensitiveHeaders: Cookie,Set-Cookie,Authorization
microservice:
ribbon:
listOfServers: localhost:8090
В микросервисе у меня есть такой Restcontroller:
@RestController
@RequestMapping("/service")
У меня есть несколько конечных точек в RestController, например:
@RequestMapping(method = { RequestMethod.GET}, value = "/service1", produces = "application/json")
Теперь, когда я отправляю запрос типа localhost:8080/service/service1
, он не попадает в ожидаемую конечную точку. Он направляет запрос на localhost:8090/service1
(где ничего не запущено).
Это хорошо работает, если я изменяю контекстный путь следующим образом
@RestController
@RequestMapping("/service")
to
@RestController
@RequestMapping("/")
Я попытался изменить путь с пути: /service/*
на
path: /service/**
но никакого эффекта.
Другой вариант — принудительная маршрутизация на уровне фильтра, но я думаю, что должна быть возможность направить localhost:8080/service/service1
напрямую в микросервис. Любые предложения о том, как я могу сделать это в конфигурации Zuul.
Я не могу использовать параметр URL, так как он несовместим с резервным вариантом, с которым я работаю.