У меня есть микросервис Spring Boot, и я отправляю большую полезную нагрузку, используя swagger. На сервере я получаю только 15000 символов, а сбрасываемые 2000 символов не читаются.
Как я могу использовать ReadBodyPredicateFactory для кэширования текста сообщения тела?
Я использую Springcloudgateway и добавил фильтры. В фильтре в методе применения я пытаюсь прочитать полезную нагрузку JSON, используя
DefaultServerRequest serverRequest = new DefaultServerRequest(exchange);
body = serverRequest.bodyToMono(String.class).toFuture().get();
Иногда зависает.
Я попытался с Flux, а затем я получил только половину сообщения
Flux body = request.getBody ();
body.subscribe(buffer -> {
try {
System.out.println("byte count:" +
buffer.readableByteCount());
byte[] bytes = new byte[buffer.readableByteCount()];
buffer.read(bytes);
DataBufferUtils.release(buffer);
String bodyString = new String(bytes, StandardCharsets.UTF_8);
sb.append(bodyString);
} catch (Exception e) {
e.printStackTrace();
}