У меня есть сценарий использования, когда мне нужно предварительно отфильтровать запрос мыла по полю в этом сообщении и добавить к этому маршруту базу ограничения скорости на основе IP.Я использую Spring Cloud Gateway 2.0.0.RC2.
Я использовал метод readBody () для предварительной фильтрации запроса на мыло, но я не знаю, как добавить ограничитель скорости к этому маршруту
@Bean
public RouteLocator wsRouteLocator(RouteLocatorBuilder builder, RequestRateLimiterGatewayFilterFactory rl) {
return builder.routes()
.route(r -> r.path("/services/**")
.and()
.readBody(String.class, s -> {
try {
// Verify xml message
} catch (XPathExpressionException e) {
e.printStackTrace();
return false;
}
})
.uri("http://10.60.96.56:9444")
)
.build();
Я нашел руководство , в котором используется Spring Cloud 2.0.0.M4.К сожалению, я не могу найти метод readBody () в Gateway 2.0.0.M4.Может кто-нибудь показать мне и пример, как использовать RateLimiter в Spring Cloud Gateway?