天天看点

webflux读body,javabean配置route的redis限流filter

@Bean
    public RouteLocator gatherRoutes(RouteLocatorBuilder builder) {
        return builder.routes()
            .route("gather_log",r ->r
                .readBody(String.class, requestBody -> { return true; })
                .and()
                .path("/api/gather/**")
                .filters(f -> f
                    .requestRateLimiter()
                        .rateLimiter(RedisRateLimiter.class,config -> config.setBurstCapacity(7000).setReplenishRate(5000))
                        .configure(config -> config.setKeyResolver(uriKeyResolver).setRouteId("gather_log"))
                    .hystrix(config -> config.setFallbackUri("forward:/fallback").setName("Hystrix")))
                .uri(appConfig.getGatherRouteUri()) )
            .build();
    }