I want to implement custom filters for my Zuul proxy. Now, I know there has been a lot of talking about that subject here and I took a look at the answer provided, with the examples of filters and the Spring Cloud documentation, which I went through several times. I have tried to copy some of the filters content to my use, but it didn't work.
I have a Eureka server, registering 3 separate services, one of them being the front door to the other two, collecting information from each of them and retrieving it.
What I want to be able to do is re-route the requests that Zuul receives at the beginning of the process, to redirect them through particular services, using URL parameters to determine which process should be aimed instead of another.
I already have created a filter tagged with the @Component
annotation, implementing ZuulFilter
. What I don't know, is how to make the redirections work, and which methods to use.
So, the question is : How can I redirect incoming requests to different registered services, using URL parameters ?
Look at PreDecorationFilter
for an example that matches routes based on the url path (ie /myservice
). If it matches a full url it sets the routeHost
in the ribbon context, otherwise it sets serviceId
(which would use ribbon to route). You would need to write something similar that would match on parameter instead.