我正在寻找一种方法来对请求执行一些过滤器和谓词,并在最后简单地向用户返回响应,而不是将其路由到特定的URI。例如,一个用户正在调用/auth/token,我的网关有一个过滤器,它生成一个令牌并转换响应的主体(使用ModifyResponseBodyGatewayFilterFactory)。当添加仅返回response.setCompleted()
的过滤器时,主体返回空,状态码始终为200。
return (exchange, chain) -> {
return modifyResponseBodyGatewayFilterFactory.apply(c -> c.setRewriteFunction(Object.class, String.class, SomeBody))
.filter(exchange, chain)
.then(exchange.getResponse().setComplete());
}
我如何返回一个特定的主体给用户,而不路由到一个URI?
提前感谢!
我找不到解决方案,所以,我为这个特定的请求创建了一个web通量控制器。对我来说,这是一个足够好的解决方案。