Операция карты терминала не вызывается в Mono - PullRequest
0 голосов
/ 21 октября 2018

Вот соответствующий код:

Mono<ResponseEntity<String>> res = remoteCall(HttpMethod.POST, issueTokenUrl, GsonConvertor.getInstance().serialize(request));

Mono<IssueToken> it = res.map(this::getIssueToken);

Удаленный вызов успешен (код состояния 200 с хорошим телом ответа), но поток просто не будет идти внутри метода getIssueToken().Вот метод:

private IssueToken getIssueToken(ResponseEntity<String> response) {
    System.out.println("Inside the method");    //this line won't print on the console
    HttpStatus statusCode = response.getStatusCode();

    checkErrors(response);
    return GsonConvertor.getInstance().deserialize(response.getBody(), IssueToken.class);
  }

Может кто-нибудь сказать мне, почему это происходит?

1 Ответ

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

map(Function) просто создает новый Mono, но хитрость в том, что функция не оценивается напрямую.Он оценивается, когда вы используете его, например, вызывая subscribe().

...