Package reactivefeign
Interface ReactiveFeignBuilder<T>
-
- All Known Implementing Classes:
ReactiveFeign.Builder
public interface ReactiveFeignBuilder<T>
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description ReactiveFeignBuilder<T>addExchangeFilterFunction(ReactiveHttpExchangeFilterFunction exchangeFilterFunction)Set exchangeFilterFunction that may modify request before being called and responseReactiveFeignBuilder<T>addLoggerListener(ReactiveLoggerListener loggerListener)May be used to collect request execution metricsReactiveFeignBuilder<T>addRequestInterceptor(ReactiveHttpRequestInterceptor requestInterceptor)Set request interceptor that may modify request before being calleddefault ReactiveFeignbuild()PublisherClientFactorybuildReactiveClientFactory()MethodHandlerFactorybuildReactiveMethodHandlerFactory(PublisherClientFactory reactiveClientFactory)feign.Contractcontract()ReactiveFeignBuilder<T>contract(feign.Contract contract)Sets contract.ReactiveFeignBuilder<T>decode404()This flag indicates that the reactive feign client should process responses with 404 status, specifically returning emptyMonoorFluxinstead of throwingFeignException.ReactiveFeignBuilder<T>fallback(T fallback)ReactiveFeignBuilder<T>fallbackFactory(FallbackFactory<T> fallbackFactory)default feign.InvocationHandlerFactoryinvocationHandlerFactory()ReactiveFeignBuilder<T>objectMapper(com.fasterxml.jackson.databind.ObjectMapper objectMapper)The most common way to introduce custom json serialisationReactiveFeignBuilder<T>options(ReactiveOptions reactiveOptions)ReactiveFeignBuilder<T>responseMapper(ReactiveHttpResponseMapper<?> responseMapper)The most common way to introduce custom logic on handling http responseReactiveFeignBuilder<T>retryWhen(ReactiveRetryPolicy retryPolicy)ReactiveFeignBuilder<T>statusHandler(ReactiveStatusHandler statusHandler)Allows to customize response status processingdefault Ttarget(feign.Target<T> target)Defines target and builds client.default Ttarget(java.lang.Class<T> apiType, java.lang.String url)Defines target and builds client.default Ttarget(java.lang.Class<T> apiType, java.lang.String name, java.lang.String url)
-
-
-
Method Detail
-
contract
ReactiveFeignBuilder<T> contract(feign.Contract contract)
Sets contract. Provided contract will be wrapped inReactiveContract- Parameters:
contract- contract.- Returns:
- this builder
-
addExchangeFilterFunction
ReactiveFeignBuilder<T> addExchangeFilterFunction(ReactiveHttpExchangeFilterFunction exchangeFilterFunction)
Set exchangeFilterFunction that may modify request before being called and response- Parameters:
exchangeFilterFunction-- Returns:
-
addRequestInterceptor
ReactiveFeignBuilder<T> addRequestInterceptor(ReactiveHttpRequestInterceptor requestInterceptor)
Set request interceptor that may modify request before being called- Parameters:
requestInterceptor-- Returns:
-
addLoggerListener
ReactiveFeignBuilder<T> addLoggerListener(ReactiveLoggerListener loggerListener)
May be used to collect request execution metrics- Parameters:
loggerListener-- Returns:
-
decode404
ReactiveFeignBuilder<T> decode404()
This flag indicates that the reactive feign client should process responses with 404 status, specifically returning emptyMonoorFluxinstead of throwingFeignException.This flag only works with 404, as opposed to all or arbitrary status codes. This was an explicit decision: 404 - empty is safe, common and doesn't complicate redirection, retry or fallback policy.
- Returns:
- this builder
-
statusHandler
ReactiveFeignBuilder<T> statusHandler(ReactiveStatusHandler statusHandler)
Allows to customize response status processing- Parameters:
statusHandler-- Returns:
-
objectMapper
ReactiveFeignBuilder<T> objectMapper(com.fasterxml.jackson.databind.ObjectMapper objectMapper)
The most common way to introduce custom json serialisation- Parameters:
objectMapper-- Returns:
-
responseMapper
ReactiveFeignBuilder<T> responseMapper(ReactiveHttpResponseMapper<?> responseMapper)
The most common way to introduce custom logic on handling http response- Parameters:
responseMapper-- Returns:
-
retryWhen
ReactiveFeignBuilder<T> retryWhen(ReactiveRetryPolicy retryPolicy)
-
options
ReactiveFeignBuilder<T> options(ReactiveOptions reactiveOptions)
-
fallback
ReactiveFeignBuilder<T> fallback(T fallback)
-
fallbackFactory
ReactiveFeignBuilder<T> fallbackFactory(FallbackFactory<T> fallbackFactory)
-
target
default T target(java.lang.Class<T> apiType, java.lang.String url)
Defines target and builds client.- Parameters:
apiType- API interfaceurl- base URL- Returns:
- built client
-
target
default T target(feign.Target<T> target)
Defines target and builds client.- Parameters:
target- target instance- Returns:
- built client
-
build
default ReactiveFeign build()
-
contract
feign.Contract contract()
-
invocationHandlerFactory
default feign.InvocationHandlerFactory invocationHandlerFactory()
-
buildReactiveMethodHandlerFactory
MethodHandlerFactory buildReactiveMethodHandlerFactory(PublisherClientFactory reactiveClientFactory)
-
buildReactiveClientFactory
PublisherClientFactory buildReactiveClientFactory()
-
-