Я отправляю запрос, длина содержимого составляет 817 , ошибка получения Размер тела равен 610, Как я могу получить все тело? Муравей, который должен обрабатывать динамический предикат по параметру!
Flux<DataBuffer> body = exchange.getRequest().getBody();
AtomicReference<String> bodyRef = new AtomicReference<>();
body.subscribe(dataBuffer -> {
CharBuffer charBuffer = Charsets.UTF_8.decode(dataBuffer.asByteBuffer());
DataBufferUtils.release(dataBuffer);
bodyRef.set(charBuffer.toString());
});
динамический предикат
routes.route(api.getMethod() + ":" + api.getVersion(), r -> r
.predicate(exchange -> {
//params analyzing : Attributes.REQUEST_PARAMETER_METHOD
ParserUtils.parseRequest(exchange);
//handler ...
return api.getMethod().equals(exchange.getAttributes().get(Attributes.REQUEST_PARAMETER_METHOD));
}).uri(....)