Block ()/blockfirst ()/blocklast () блокируют ошибку при вызове Bodytomono после Exchange ()JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Block ()/blockfirst ()/blocklast () блокируют ошибку при вызове Bodytomono после Exchange ()

Сообщение Anonymous »

Я пытаюсь использовать Webflux для потоковой передачи сгенерированного файла в другое место, однако, если генерация файла переживает ошибку, API возвращает успех, но с DTO подробно описывает ошибки при генерации файла вместо самого файла. Это использует очень старый и плохо спроектированный API, поэтому, пожалуйста, извините за использование Post и Design API. Отсюда я могу либо преобразовать в Bytearrayresource, используя Bodytomono, который можно транслировать в файл, или, если есть ошибка при создании файла, я могу конвертировать в DTO, также используя BodyTomono. Тем не менее, я не могу сделать ни один, либо в зависимости от содержимого заголовка ClientResponse. Reactor-http-client-epoll-12 < /p>
< /blockquote>

Я думаю, что моя проблема заключается в том, что я не могу вызовать Block () дважды в одной и той же цепочке функций. < /p>

Мой кодовый фрагмент такой: < /p>

scdipt таков: < /p>

.webClient.post()
.uri(uriBuilder -> uriBuilder.path("/file/")
.queryParams(params).build())
.exchange()
.doOnSuccess(cr -> {
if (MediaType.APPLICATION_JSON_UTF8.equals(cr.headers().contentType().get())) {
NoPayloadResponseDto dto = cr.bodyToMono(NoPayloadResponseDto.class).block();
createErrorFile(dto);
}
else {
ByteArrayResource bAr = cr.bodyToMono(ByteArrayResource.class).block();
createSpreadsheet(bAr);
}
}
)
.block();
< /code>

В основном я хочу обработать клиент -ответ по -разному на основе медиатипа, который определяется в заголовке. < /p>

Это возможно? < /p>

Подробнее здесь: https://stackoverflow.com/questions/514 ... omono-afte
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Block ()/blockfirst ()/blocklast () блокируют ошибку при вызове Bodytomono после Exchange ()
    Anonymous » » в форуме JAVA
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Block Block Block Block Block Разрешить доступ к списку указанных под папков
    Anonymous » » в форуме Php
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Block Block Block Block Block Разрешить доступ к списку указанных под папков
    Anonymous » » в форуме Apache
    0 Ответы
    76 Просмотры
    Последнее сообщение Anonymous
  • Block Block Block Block Block Разрешить доступ к списку указанных под папков
    Anonymous » » в форуме Php
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Block Block Block Block Block Разрешить доступ к списку указанных под папков
    Anonymous » » в форуме Php
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»