接口 WebClient.ResponseSpec

    • 方法详细资料

      • onStatus

        WebClient.ResponseSpec onStatus​(Predicate<HttpStatus> 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 WebClientResponseException which is created with ClientResponse.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 add onErrorResume downstream, 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 with
        exceptionFunction - to map the response to an error signal
        返回:
        this builder
        另请参阅:
        ClientResponse.createException()
      • bodyToMono

        <T> reactor.core.publisher.Mono<T> bodyToMono​(Class<T> elementClass)
        Extract the body to a Mono. By default, if the response has status code 4xx or 5xx, the Mono will contain a WebClientException. This can be overridden with onStatus(Predicate, Function).
        类型参数:
        T - response body type
        参数:
        elementClass - the expected response body element class
        返回:
        a mono containing the body, or a WebClientResponseException if the status code is 4xx or 5xx
      • bodyToFlux

        <T> reactor.core.publisher.Flux<T> bodyToFlux​(Class<T> elementClass)
        Extract the body to a Flux. By default, if the response has status code 4xx or 5xx, the Flux will contain a WebClientException. This can be overridden with onStatus(Predicate, Function).
        类型参数:
        T - the type of elements in the response
        参数:
        elementClass - the class of elements in the response
        返回:
        a flux containing the body, or a WebClientResponseException if the status code is 4xx or 5xx
      • toEntity

        <T> reactor.core.publisher.Mono<ResponseEntity<T>> toEntity​(Class<T> bodyClass)
        Return the response as a delayed ResponseEntity. By default, if the response has status code 4xx or 5xx, the Mono will contain a WebClientException. This can be overridden with onStatus(Predicate, Function).
        类型参数:
        T - response body type
        参数:
        bodyClass - the expected response body type
        返回:
        Mono with the ResponseEntity
        从以下版本开始:
        5.2
      • toEntity

        <T> reactor.core.publisher.Mono<ResponseEntity<T>> toEntity​(ParameterizedTypeReference<T> bodyTypeReference)
        Return the response as a delayed ResponseEntity. By default, if the response has status code 4xx or 5xx, the Mono will contain a WebClientException. This can be overridden with onStatus(Predicate, Function).
        类型参数:
        T - response body type
        参数:
        bodyTypeReference - a type reference describing the expected response body type
        返回:
        Mono with the ResponseEntity
        从以下版本开始:
        5.2
      • toEntityList

        <T> reactor.core.publisher.Mono<ResponseEntity<List<T>>> toEntityList​(Class<T> elementClass)
        Return the response as a delayed list of ResponseEntitys. By default, if the response has status code 4xx or 5xx, the Mono will contain a WebClientException. This can be overridden with onStatus(Predicate, Function).
        类型参数:
        T - the type of elements in the list
        参数:
        elementClass - the expected response body list element class
        返回:
        Mono with the list of ResponseEntitys
        从以下版本开始:
        5.2
      • toEntityList

        <T> reactor.core.publisher.Mono<ResponseEntity<List<T>>> toEntityList​(ParameterizedTypeReference<T> elementTypeRef)
        Return the response as a delayed list of ResponseEntitys. By default, if the response has status code 4xx or 5xx, the Mono will contain a WebClientException. This can be overridden with onStatus(Predicate, Function).
        类型参数:
        T - the type of elements in the list
        参数:
        elementTypeRef - the expected response body list element reference type
        返回:
        Mono with the list of ResponseEntitys
        从以下版本开始:
        5.2
      • toBodilessEntity

        reactor.core.publisher.Mono<ResponseEntity<Void>> toBodilessEntity()
        Return the response as a delayed ResponseEntity containing status and headers, but no body. By default, if the response has status code 4xx or 5xx, the Mono will contain a WebClientException. This can be overridden with onStatus(Predicate, Function). Calling this method will release the body of the response.
        返回:
        Mono with the bodiless ResponseEntity
        从以下版本开始:
        5.2