接口 ClientResponse

所有已知实现类:
ClientResponseWrapper, DefaultClientResponse

public interface ClientResponse
Represents an HTTP response, as returned by WebClient and also ExchangeFunction. Provides access to the response status and headers, and also methods to consume the response body.
从以下版本开始:
4.0
作者:
Brian Clozel, Arjen Poutsma, Harry Yang
  • 方法详细资料

    • statusCode

      HttpStatusCode statusCode()
      Return the HTTP status code as an HttpStatusCode value.
      返回:
      the HTTP status as an HttpStatusCode value (never null)
    • rawStatusCode

      int rawStatusCode()
      Return the (potentially non-standard) status code of this response.
      返回:
      the HTTP status as an integer value
      另请参阅:
    • headers

      Return the headers of this response.
    • cookies

      cn.taketoday.util.MultiValueMap<String,ResponseCookie> cookies()
      Return the cookies of this response.
    • strategies

      ExchangeStrategies strategies()
      Return the strategies used to convert the body of this response.
    • body

      <T> T body(BodyExtractor<T,? super ClientHttpResponse> extractor)
      Extract the body with the given BodyExtractor.
      类型参数:
      T - the type of the body returned
      参数:
      extractor - the BodyExtractor that reads from the response
      返回:
      the extracted body
    • bodyToMono

      <T> reactor.core.publisher.Mono<T> bodyToMono(Class<? extends T> elementClass)
      Extract the body to a Mono.
      类型参数:
      T - the element type
      参数:
      elementClass - the class of element in the Mono
      返回:
      a mono containing the body of the given type T
    • bodyToMono

      <T> reactor.core.publisher.Mono<T> bodyToMono(cn.taketoday.core.ParameterizedTypeReference<T> elementTypeRef)
      Extract the body to a Mono.
      类型参数:
      T - the element type
      参数:
      elementTypeRef - the type reference of element in the Mono
      返回:
      a mono containing the body of the given type T
    • bodyToFlux

      <T> reactor.core.publisher.Flux<T> bodyToFlux(Class<? extends T> elementClass)
      Extract the body to a Flux.
      类型参数:
      T - the element type
      参数:
      elementClass - the class of elements in the Flux
      返回:
      a flux containing the body of the given type T
    • bodyToFlux

      <T> reactor.core.publisher.Flux<T> bodyToFlux(cn.taketoday.core.ParameterizedTypeReference<T> elementTypeRef)
      Extract the body to a Flux.
      类型参数:
      T - the element type
      参数:
      elementTypeRef - the type reference of elements in the Flux
      返回:
      a flux containing the body of the given type T
    • releaseBody

      reactor.core.publisher.Mono<Void> releaseBody()
      Release the body of this response.
      返回:
      a completion signal
      另请参阅:
      • DataBufferUtils.release(DataBuffer)
    • toEntity

      <T> reactor.core.publisher.Mono<ResponseEntity<T>> toEntity(Class<T> bodyClass)
      Return this response as a delayed ResponseEntity.
      类型参数:
      T - response body type
      参数:
      bodyClass - the expected response body type
      返回:
      Mono with the ResponseEntity
    • toEntity

      <T> reactor.core.publisher.Mono<ResponseEntity<T>> toEntity(cn.taketoday.core.ParameterizedTypeReference<T> bodyTypeReference)
      Return this response as a delayed ResponseEntity.
      类型参数:
      T - response body type
      参数:
      bodyTypeReference - a type reference describing the expected response body type
      返回:
      Mono with the ResponseEntity
    • toEntityList

      <T> reactor.core.publisher.Mono<ResponseEntity<List<T>>> toEntityList(Class<T> elementClass)
      Return this response as a delayed list of ResponseEntitys.
      类型参数:
      T - the type of elements in the list
      参数:
      elementClass - the expected response body list element class
      返回:
      Mono with the list of ResponseEntitys
    • toEntityList

      <T> reactor.core.publisher.Mono<ResponseEntity<List<T>>> toEntityList(cn.taketoday.core.ParameterizedTypeReference<T> elementTypeRef)
      Return this response as a delayed list of ResponseEntitys.
      类型参数:
      T - the type of elements in the list
      参数:
      elementTypeRef - the expected response body list element reference type
      返回:
      Mono with the list of ResponseEntitys
    • toBodilessEntity

      reactor.core.publisher.Mono<ResponseEntity<Void>> toBodilessEntity()
      Return this response as a delayed ResponseEntity containing status and headers, but no body. Calling this method will release the body of the response.
      返回:
      Mono with the bodiless ResponseEntity
    • createException

      reactor.core.publisher.Mono<WebClientResponseException> createException()
      Create a WebClientResponseException that contains the response status, headers, body, and the originating request.
      返回:
      a Mono with the created exception
    • createError

      <T> reactor.core.publisher.Mono<T> createError()
      Create a Mono that terminates with a WebClientResponseException, containing the response status, headers, body, and the originating request.
      类型参数:
      T - the reified type
      返回:
      a Mono that fails with a WebClientResponseException.
      另请参阅:
    • logPrefix

      String logPrefix()
      Return a log message prefix to use to correlate messages for this exchange.

      The prefix is based on ClientRequest.logPrefix(), which itself is based on the value of the LOG_ID_ATTRIBUTE request attribute, further surrounded with "[" and "]".

      返回:
      the log message prefix or an empty String if the LOG_ID_ATTRIBUTE is not set
    • mutate

      default ClientResponse.Builder mutate()
      Return a builder to mutate this response, for example to change the status, headers, cookies, and replace or transform the body.
      返回:
      a builder to mutate the response with
      从以下版本开始:
      4.0
    • from

      Create a builder with the status, headers, and cookies of the given response.

      Note: Note that the body in the returned builder is Flux.empty() by default. To carry over the one from the original response, use otherResponse.bodyToFlux(DataBuffer.class) or simply use the instance based mutate() method.

      参数:
      other - the response to copy the status, headers, and cookies from
      返回:
      the created builder
    • create

      static ClientResponse.Builder create(HttpStatus statusCode)
      Create a response builder with the given status code and using default strategies for reading the body.
      参数:
      statusCode - the status code
      返回:
      the created builder
    • create

      static ClientResponse.Builder create(HttpStatus statusCode, ExchangeStrategies strategies)
      Create a response builder with the given status code and strategies for reading the body.
      参数:
      statusCode - the status code
      strategies - the strategies
      返回:
      the created builder
    • create

      static ClientResponse.Builder create(int statusCode, ExchangeStrategies strategies)
      Create a response builder with the given raw status code and strategies for reading the body.
      参数:
      statusCode - the status code
      strategies - the strategies
      返回:
      the created builder
    • create

      static ClientResponse.Builder create(HttpStatus statusCode, List<HttpMessageReader<?>> messageReaders)
      Create a response builder with the given status code and message body readers.
      参数:
      statusCode - the status code
      messageReaders - the message readers
      返回:
      the created builder