I want to write some of my own custom zuul filters for a spring cloud microservice i am writing. Once i have the filter written how do I integrate it so the underlying netflix zuul framework can take advantage of it.
Implementing Spring Cloud Gateway Filters using Java Configuration. In the FirstController we extract the request header we have added in the pre filter and print it. In the SecondController we extract the request header we have added in the pre filter and print it. Run the application.
There are four types of standard filters in Zuul: pre for pre-routing filtering, route for routing to an origin, post for post-routing filters, and error for error handling. Zuul also supports a static type for static responses.
Zuul provides a framework to dynamically read, compile, and run these Filters. Filters do not communicate with each other directly - instead they share state through a RequestContext which is unique to each request. Filters are currently written in Groovy, although Zuul supports any JVM-based language.
Create a @Bean
that extends ZuulFilter
. See java configuration examples here. As long as the bean is in the same context as the @EnableZuulProxy
app, it will automatically get picked up.
@Bean
public MyFilter myFilter() {
return new MyFilter();
}
See examples of filters here.
public class MyFilter extends ZuulFilter {
//...
}
There are three types of filters: pre, route and post and each set of filters is executed in that order (ie all pre's first, routes 2nd and post's 3rd).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With