Spring WebClient асинхронный обратный вызов не вызывается при ответе http-сервера 404 - PullRequest
0 голосов
/ 25 ноября 2018

Проблема, с которой я столкнулся, указана ниже, а код приведен ниже:

Mono<Account> accountMono = client.get()
    .uri("accounturl")
    .accept(MediaType.APPLICATION_JSON)
    .exchange()
    .flatMap(response -> {
                            if (response.statusCode().equals(HttpStatus.OK)) {
                              return response.bodyToMono(Account.class);
                            } else { 
                              return Mono.empty();
                            }
                          });

accountMono.subscribe(result -> callback(result));  

`` `

Server response 404.Я пытаюсь создать пустую учетную запись, но callback() не вызывается.Похоже, пустое Mono не испускается.

1 Ответ

0 голосов
/ 25 ноября 2018

Ответ сервера 404, я пытаюсь создать пустую учетную запись

Вы не создаете пустую Account.Вы возвращаете пустой Mono, то есть Mono, который никогда ничего не будет излучать.

Если вы хотите вернуть Mono, который выдает пустую учетную запись, вам необходимо

return Mono.just(new Account());
...