yaarix
yaarix

Reputation: 500

spring cloud gateway, avoid routing to a uri

I'm looking for a way to execute some filters and predicates on a request, and at the end simply return a response to the user, instead of routing it to a specific URI. For example, a user is calling /auth/token and my gateway has a filter that generates a token and transforms the body of the response (using the ModifyResponseBodyGatewayFilterFactory). When adding a filter that simply returns response.setCompleted(), the body returns empty and the status code is always 200.

return (exchange, chain) -> {
     return modifyResponseBodyGatewayFilterFactory.apply(c -> c.setRewriteFunction(Object.class, String.class, SomeBody))
                                                         .filter(exchange, chain)
                                                         .then(exchange.getResponse().setComplete());
}

How can I return a specific body to the user, without routing to a URI?

Thanks in advance!

Upvotes: 1

Views: 1098

Answers (1)

yaarix
yaarix

Reputation: 500

I couldn't find a solution, so instead, I've created a web flux controller for this specific request. This is a good enough solution for me.

Upvotes: 1

Related Questions