com.holonplatform.reactor.http

## Interface ReactiveRestClient

- All Superinterfaces:
    com.holonplatform.http.rest.RestClientOperations<ReactiveRestClient,ReactiveRestClient.ReactiveRequestDefinition>
  All Known Subinterfaces:
    SpringReactiveRestClient

      public interface ReactiveRestClient
      extends com.holonplatform.http.rest.RestClientOperations<ReactiveRestClient,ReactiveRestClient.ReactiveRequestDefinition>

  Reactive HTTP REST client, using project reactor.
  Since:
    5.2.0

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static interface` | `ReactiveRestClient.ReactiveInvocation` Invocation operations
    `static interface` | `ReactiveRestClient.ReactiveRequestDefinition` Request message definition and response invocation.

    - ### Nested classes/interfaces inherited from interface com.holonplatform.http.rest.RestClientOperations

      `com.holonplatform.http.rest.RestClientOperations.InvocationOperations<RE,RP,RS,RL,RU>, com.holonplatform.http.rest.RestClientOperations.RequestConfiguration<R extends com.holonplatform.http.rest.RestClientOperations.RequestConfiguration<R>>`

  - ### Method Summary

    All Methods Static Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `static ReactiveRestClient` | `create()` Create a new `ReactiveRestClient` instance using default `ClassLoader` and default implementation, if available.
    `static ReactiveRestClient` | `create(ClassLoader classLoader)` Create a new `ReactiveRestClient` instance using given `classLoder` and default implementation, if available.
    `static ReactiveRestClient` | `create(String fullyQualifiedClassName)` Create a new `ReactiveRestClient` instance using default `ClassLoader` and the implementation whith given fully qualified class name.
    `static ReactiveRestClient` | `create(String fullyQualifiedClassName, ClassLoader classLoader)` Create a new `ReactiveRestClient` instance using given `classLoder` and the implementation whith given fully qualified class name.
    `static ReactiveRestClient` | `forTarget(String baseUri)` Create a new `ReactiveRestClient` instance using default `ClassLoader` and default implementation, setting given `baseUri` as default `ReactiveRestClient` target, which will be used as base URI for every request configured using `RestClientOperations.request()`, if not overridden using `RestClientOperations.RequestConfiguration.target(URI)`.
    `static ReactiveRestClient` | `forTarget(URI baseUri)` Create a new `ReactiveRestClient` instance using default `ClassLoader` and default implementation, setting given `baseUri` as default `ReactiveRestClient` target, which will be used as base URI for every request configured using `RestClientOperations.request()`, if not overridden using `RestClientOperations.RequestConfiguration.target(URI)`.

    - ### Methods inherited from interface com.holonplatform.http.rest.RestClientOperations

      `clearDefaultHeaders, defaultTarget, getDefaultTarget, removeDefaultHeader, request, withDefaultHeader`

- - ### Method Detail

    - #### forTarget

          static ReactiveRestClient forTarget(String baseUri)

      Create a new `ReactiveRestClient` instance using default `ClassLoader` and default implementation, setting given `baseUri` as default `ReactiveRestClient` target, which will be used as base URI for every request configured using `RestClientOperations.request()`, if not overridden using `RestClientOperations.RequestConfiguration.target(URI)`.
      Parameters:
        `baseUri` - The base target URI of the returned `ReactiveRestClient`
      Returns:
        A new `ReactiveRestClient` instance

    - #### forTarget

          static ReactiveRestClient forTarget(URI baseUri)

      Create a new `ReactiveRestClient` instance using default `ClassLoader` and default implementation, setting given `baseUri` as default `ReactiveRestClient` target, which will be used as base URI for every request configured using `RestClientOperations.request()`, if not overridden using `RestClientOperations.RequestConfiguration.target(URI)`.
      Parameters:
        `baseUri` - The base target URI of the returned `ReactiveRestClient`
      Returns:
        A new `ReactiveRestClient` instance

    - #### create

          static ReactiveRestClient create()

      Create a new `ReactiveRestClient` instance using default `ClassLoader` and default implementation, if available. If more than one `ReactiveRestClient` implementation is found using given ClassLoader, the one returned by the `ReactiveRestClientFactory` with the higher priority is returned.
      Returns:
        A new `ReactiveRestClient` instance
      Throws:
        `com.holonplatform.http.exceptions.RestClientCreationException` - If a `ReactiveRestClient` implementation is not available or a instance creation error occurred

    - #### create

          static ReactiveRestClient create(ClassLoader classLoader)

      Create a new `ReactiveRestClient` instance using given `classLoder` and default implementation, if available. If more than one `ReactiveRestClient` implementation is found using given ClassLoader, the one returned by the `ReactiveRestClientFactory` with the higher priority is returned.
      Parameters:
        `classLoader` - The `ClassLoader` to use
      Returns:
        A new `ReactiveRestClient` instance
      Throws:
        `com.holonplatform.http.exceptions.RestClientCreationException` - If a `ReactiveRestClient` implementation is not available or a instance creation error occurred

    - #### create

          static ReactiveRestClient create(String fullyQualifiedClassName)

      Create a new `ReactiveRestClient` instance using default `ClassLoader` and the implementation whith given fully qualified class name.
      Parameters:
        `fullyQualifiedClassName` - The `ReactiveRestClient` implementation fully qualified class name to obtain
      Returns:
        A new `ReactiveRestClient` instance
      Throws:
        `com.holonplatform.http.exceptions.RestClientCreationException` - If the implementation which corresponds to given fully qualified class name is not available or a instance creation error occurred

    - #### create

          static ReactiveRestClient create(String fullyQualifiedClassName,
                                           ClassLoader classLoader)

      Create a new `ReactiveRestClient` instance using given `classLoder` and the implementation whith given fully qualified class name.
      Parameters:
        `fullyQualifiedClassName` - The `ReactiveRestClient` implementation fully qualified class name to obtain
        `classLoader` - The `ClassLoader` to use
      Returns:
        A new `ReactiveRestClient` instance
      Throws:
        `com.holonplatform.http.exceptions.RestClientCreationException` - If the implementation which corresponds to given fully qualified class name is not available or a instance creation error occurred

Copyright © 2019 The Holon Platform. All rights reserved.