parent
69aed83504
commit
1e19e51c9c
|
|
@ -547,37 +547,39 @@ depending on the response status:
|
|||
.Java
|
||||
----
|
||||
Mono<Object> entityMono = client.get()
|
||||
.uri("/persons/1")
|
||||
.accept(MediaType.APPLICATION_JSON)
|
||||
.exchangeToMono(response -> {
|
||||
if (response.statusCode().equals(HttpStatus.OK)) {
|
||||
return response.bodyToMono(Person.class);
|
||||
}
|
||||
else if (response.statusCode().is4xxClientError()) {
|
||||
return response.bodyToMono(ErrorContainer.class);
|
||||
}
|
||||
else {
|
||||
return Mono.error(response.createException());
|
||||
}
|
||||
});
|
||||
.uri("/persons/1")
|
||||
.accept(MediaType.APPLICATION_JSON)
|
||||
.exchangeToMono(response -> {
|
||||
if (response.statusCode().equals(HttpStatus.OK)) {
|
||||
return response.bodyToMono(Person.class);
|
||||
}
|
||||
else if (response.statusCode().is4xxClientError()) {
|
||||
// Suppress error status code
|
||||
return response.bodyToMono(ErrorContainer.class);
|
||||
}
|
||||
else {
|
||||
// Turn to error
|
||||
return response.createException().flatMap(Mono::error);
|
||||
}
|
||||
});
|
||||
----
|
||||
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
|
||||
.Kotlin
|
||||
----
|
||||
val entity = client.get()
|
||||
.uri("/persons/1")
|
||||
.accept(MediaType.APPLICATION_JSON)
|
||||
.awaitExchange {
|
||||
if (response.statusCode() == HttpStatus.OK) {
|
||||
return response.awaitBody<Person>();
|
||||
}
|
||||
else if (response.statusCode().is4xxClientError) {
|
||||
return response.awaitBody<ErrorContainer>();
|
||||
}
|
||||
else {
|
||||
return response.createExceptionAndAwait();
|
||||
}
|
||||
}
|
||||
val entity = client.get()
|
||||
.uri("/persons/1")
|
||||
.accept(MediaType.APPLICATION_JSON)
|
||||
.awaitExchange {
|
||||
if (response.statusCode() == HttpStatus.OK) {
|
||||
return response.awaitBody<Person>()
|
||||
}
|
||||
else if (response.statusCode().is4xxClientError) {
|
||||
return response.awaitBody<ErrorContainer>()
|
||||
}
|
||||
else {
|
||||
throw response.createExceptionAndAwait()
|
||||
}
|
||||
}
|
||||
----
|
||||
|
||||
When using the above, after the returned `Mono` or `Flux` completes, the response body
|
||||
|
|
|
|||
Loading…
Reference in New Issue