Interface HttpClientAdapter

All Known Implementing Classes:
WebClientAdapter

public interface HttpClientAdapter
Contract to abstract the underlying HTTP client and decouple it from the HTTP service proxy.
Since:
6.0
Author:
Rossen Stoyanchev
  • Method Details

    • requestToVoid

      reactor.core.publisher.Mono<Void> requestToVoid(HttpRequestValues requestValues)
      Perform the given request, and release the response content, if any.
      Parameters:
      requestValues - the request to perform
      Returns:
      Mono that completes when the request is fully executed and the response content is released.
    • requestToHeaders

      reactor.core.publisher.Mono<HttpHeaders> requestToHeaders(HttpRequestValues requestValues)
      Perform the given request, release the response content, and return the response headers.
      Parameters:
      requestValues - the request to perform
      Returns:
      Mono that returns the response headers the request is fully executed and the response content released.
    • requestToBody

      <T> reactor.core.publisher.Mono<T> requestToBody(HttpRequestValues requestValues, ParameterizedTypeReference<T> bodyType)
      Perform the given request and decode the response content to the given type.
      Type Parameters:
      T - the type the response is decoded to
      Parameters:
      requestValues - the request to perform
      bodyType - the target type to decode to
      Returns:
      Mono that returns the decoded response.
    • requestToBodyFlux

      <T> reactor.core.publisher.Flux<T> requestToBodyFlux(HttpRequestValues requestValues, ParameterizedTypeReference<T> bodyType)
      Perform the given request and decode the response content to a stream with elements of the given type.
      Type Parameters:
      T - the type the response is decoded to
      Parameters:
      requestValues - the request to perform
      bodyType - the target stream element type to decode to
      Returns:
      Flux with decoded stream elements.
    • requestToBodilessEntity

      reactor.core.publisher.Mono<ResponseEntity<Void>> requestToBodilessEntity(HttpRequestValues requestValues)
      Variant of requestToVoid(HttpRequestValues) with additional access to the response status and headers.
    • requestToEntity

      <T> reactor.core.publisher.Mono<ResponseEntity<T>> requestToEntity(HttpRequestValues requestValues, ParameterizedTypeReference<T> bodyType)
      Variant of requestToBody(HttpRequestValues, ParameterizedTypeReference) with additional access to the response status and headers.
    • requestToEntityFlux

      <T> reactor.core.publisher.Mono<ResponseEntity<reactor.core.publisher.Flux<T>>> requestToEntityFlux(HttpRequestValues requestValues, ParameterizedTypeReference<T> bodyType)
      Variant of requestToBodyFlux(HttpRequestValues, ParameterizedTypeReference) with additional access to the response status and headers.