Я пытаюсь вызвать API с 2 вызова с помощью веб-клиента.
Первый звонок вернет токен
Во втором вызове используйте токен и запросите некоторые данные.
Как это сделать ??
Я пытался с вызовом первым и использовать GetToken().block()
, но во время выполнения у меня ошибка ...
Я пробовал с:
GetToken().flatmap( x -> { GetDataRequest dataRequest = new GetDataRequest(x);
return this.GetData(dataRequest);
}
это первый звонок:
private Mono<GetTokenResponse> GetToken() {
return
weblicent.post().uri("GetToken").contentType(MediaType.APPLICATION_JSON)
.accept(MediaType.APPLICATION_JSON_UTF8)
.syncBody(request)
.retrieve()
.bodyToMono(GetTokenResponse.class);
}
это второй звонок:
private Mono<GetDataResponse> GetData(GetDataRequest dataRequest) {
return
weblicent.post().uri("GetData")
.contentType(MediaType.APPLICATION_JSON)
.accept(MediaType.APPLICATION_JSON_UTF8)
.syncBody(dataRequest)
.retrieve()
.bodyToMono(GetDataResponse.class);