接口 WebClient.ResponseSpec
- 所有已知实现类:
DefaultWebClient.DefaultResponseSpec
- 封闭接口:
- WebClient
public static interface WebClient.ResponseSpec
Contract for specifying response operations following the exchange.
-
方法概要
修饰符和类型方法说明<T> reactor.core.publisher.Flux<T>bodyToFlux(cn.taketoday.core.ParameterizedTypeReference<T> elementTypeRef) Variant ofbodyToMono(Class)with aParameterizedTypeReference.<T> reactor.core.publisher.Flux<T>bodyToFlux(Class<T> elementClass) Decode the body to aFluxwith elements of the given type.<T> reactor.core.publisher.Mono<T>bodyToMono(cn.taketoday.core.ParameterizedTypeReference<T> elementTypeRef) Variant ofbodyToMono(Class)with aParameterizedTypeReference.<T> reactor.core.publisher.Mono<T>bodyToMono(Class<T> elementClass) Decode the body to the given target type.onRawStatus(IntPredicate statusCodePredicate, Function<ClientResponse, reactor.core.publisher.Mono<? extends Throwable>> exceptionFunction) Variant ofonStatus(Predicate, Function)that works with raw status code values.onStatus(Predicate<HttpStatusCode> statusPredicate, Function<ClientResponse, reactor.core.publisher.Mono<? extends Throwable>> exceptionFunction) Provide a function to map specific error status codes to an error signal to be propagated downstream instead of the response.reactor.core.publisher.Mono<ResponseEntity<Void>>Return aResponseEntitywithout a body.<T> reactor.core.publisher.Mono<ResponseEntity<T>>toEntity(cn.taketoday.core.ParameterizedTypeReference<T> bodyTypeReference) Variant ofbodyToMono(Class)with aParameterizedTypeReference.<T> reactor.core.publisher.Mono<ResponseEntity<T>>Return aResponseEntitywith the body decoded to an Object of the given type.<T> reactor.core.publisher.Mono<ResponseEntity<reactor.core.publisher.Flux<T>>>toEntityFlux(cn.taketoday.core.ParameterizedTypeReference<T> elementTypeReference) Variant oftoEntityFlux(Class)with aParameterizedTypeReference.<T> reactor.core.publisher.Mono<ResponseEntity<reactor.core.publisher.Flux<T>>>toEntityFlux(BodyExtractor<reactor.core.publisher.Flux<T>, ? super ClientHttpResponse> bodyExtractor) Variant oftoEntityFlux(Class)with aBodyExtractor.<T> reactor.core.publisher.Mono<ResponseEntity<reactor.core.publisher.Flux<T>>>toEntityFlux(Class<T> elementType) Return aResponseEntitywith the body decoded to aFluxof elements of the given type.<T> reactor.core.publisher.Mono<ResponseEntity<List<T>>>toEntityList(cn.taketoday.core.ParameterizedTypeReference<T> elementTypeRef) Variant oftoEntity(Class)with aParameterizedTypeReference.<T> reactor.core.publisher.Mono<ResponseEntity<List<T>>>toEntityList(Class<T> elementClass) Return aResponseEntitywith the body decoded to aListof elements of the given type.
-
方法详细资料
-
onStatus
WebClient.ResponseSpec onStatus(Predicate<HttpStatusCode> statusPredicate, Function<ClientResponse, reactor.core.publisher.Mono<? extends Throwable>> exceptionFunction) Provide a function to map specific error status codes to an error signal to be propagated downstream instead of the response.By default, if there are no matching status handlers, responses with status codes >= 400 are mapped to
WebClientResponseExceptionwhich is created withClientResponse.createException().To suppress the treatment of a status code as an error and process it as a normal response, return
Mono.empty()from the function. The response will then propagate downstream to be processed.To ignore an error response completely, and propagate neither response nor error, use a
filter, or addonErrorResumedownstream, for example:webClient.get() .uri("https://abc.com/account/123") .retrieve() .bodyToMono(Account.class) .onErrorResume(WebClientResponseException.class, ex -> ex.getRawStatusCode() == 404 ? Mono.empty() : Mono.error(ex));- 参数:
statusPredicate- to match responses withexceptionFunction- to map the response to an error signal- 返回:
- this builder
- 另请参阅:
-
onRawStatus
WebClient.ResponseSpec onRawStatus(IntPredicate statusCodePredicate, Function<ClientResponse, reactor.core.publisher.Mono<? extends Throwable>> exceptionFunction) Variant ofonStatus(Predicate, Function)that works with raw status code values. This is useful for custom status codes.- 参数:
statusCodePredicate- to match responses withexceptionFunction- to map the response to an error signal- 返回:
- this builder
-
bodyToMono
Decode the body to the given target type. For an error response (status code of 4xx or 5xx), theMonoemits aWebClientException. UseonStatus(Predicate, Function)to customize error response handling.- 类型参数:
T- the target body type- 参数:
elementClass- the type to decode to- 返回:
- the decoded body
-
bodyToMono
<T> reactor.core.publisher.Mono<T> bodyToMono(cn.taketoday.core.ParameterizedTypeReference<T> elementTypeRef) Variant ofbodyToMono(Class)with aParameterizedTypeReference.- 类型参数:
T- the target body type- 参数:
elementTypeRef- the type to decode to- 返回:
- the decoded body
-
bodyToFlux
Decode the body to aFluxwith elements of the given type. For an error response (status code of 4xx or 5xx), theMonoemits aWebClientException. UseonStatus(Predicate, Function)to customize error response handling.- 类型参数:
T- the body element type- 参数:
elementClass- the type of element to decode to- 返回:
- the decoded body
-
bodyToFlux
<T> reactor.core.publisher.Flux<T> bodyToFlux(cn.taketoday.core.ParameterizedTypeReference<T> elementTypeRef) Variant ofbodyToMono(Class)with aParameterizedTypeReference.- 类型参数:
T- the body element type- 参数:
elementTypeRef- the type of element to decode to- 返回:
- the decoded body
-
toEntity
Return aResponseEntitywith the body decoded to an Object of the given type. For an error response (status code of 4xx or 5xx), theMonoemits aWebClientException. UseonStatus(Predicate, Function)to customize error response handling.- 类型参数:
T- response body type- 参数:
bodyClass- the expected response body type- 返回:
- the
ResponseEntitywith the decoded body
-
toEntity
<T> reactor.core.publisher.Mono<ResponseEntity<T>> toEntity(cn.taketoday.core.ParameterizedTypeReference<T> bodyTypeReference) Variant ofbodyToMono(Class)with aParameterizedTypeReference.- 类型参数:
T- the response body type- 参数:
bodyTypeReference- the expected response body type- 返回:
- the
ResponseEntitywith the decoded body
-
toEntityList
Return aResponseEntitywith the body decoded to aListof elements of the given type. For an error response (status code of 4xx or 5xx), theMonoemits aWebClientException. UseonStatus(Predicate, Function)to customize error response handling.- 类型参数:
T- the body element type- 参数:
elementClass- the type of element to decode the target Flux to- 返回:
- the
ResponseEntity
-
toEntityList
<T> reactor.core.publisher.Mono<ResponseEntity<List<T>>> toEntityList(cn.taketoday.core.ParameterizedTypeReference<T> elementTypeRef) Variant oftoEntity(Class)with aParameterizedTypeReference.- 类型参数:
T- the body element type- 参数:
elementTypeRef- the type of element to decode the target Flux to- 返回:
- the
ResponseEntity
-
toEntityFlux
<T> reactor.core.publisher.Mono<ResponseEntity<reactor.core.publisher.Flux<T>>> toEntityFlux(Class<T> elementType) Return aResponseEntitywith the body decoded to aFluxof elements of the given type. For an error response (status code of 4xx or 5xx), theMonoemits aWebClientException. UseonStatus(Predicate, Function)to customize error response handling.Note: The
Fluxrepresenting the body must be subscribed to or else associated resources will not be released.- 类型参数:
T- the body element type- 参数:
elementType- the type of element to decode the target Flux to- 返回:
- the
ResponseEntity
-
toEntityFlux
<T> reactor.core.publisher.Mono<ResponseEntity<reactor.core.publisher.Flux<T>>> toEntityFlux(cn.taketoday.core.ParameterizedTypeReference<T> elementTypeReference) Variant oftoEntityFlux(Class)with aParameterizedTypeReference.- 类型参数:
T- the body element type- 参数:
elementTypeReference- the type of element to decode the target Flux to- 返回:
- the
ResponseEntity
-
toEntityFlux
<T> reactor.core.publisher.Mono<ResponseEntity<reactor.core.publisher.Flux<T>>> toEntityFlux(BodyExtractor<reactor.core.publisher.Flux<T>, ? super ClientHttpResponse> bodyExtractor) Variant oftoEntityFlux(Class)with aBodyExtractor.- 类型参数:
T- the body element type- 参数:
bodyExtractor- theBodyExtractorthat reads from the response- 返回:
- the
ResponseEntity
-
toBodilessEntity
reactor.core.publisher.Mono<ResponseEntity<Void>> toBodilessEntity()Return aResponseEntitywithout a body. For an error response (status code of 4xx or 5xx), theMonoemits aWebClientException. UseonStatus(Predicate, Function)to customize error response handling.- 返回:
- the
ResponseEntity
-