base url
and any target-specific
headers or query parameters.Request.requestBody()
insteadRequestTemplate.body(feign.Request.Body)
insteadRequestTemplate.body(feign.Request.Body)
insteadRequestTemplate.requestBody()
RequestTemplate.body(feign.Request.Body)
Body
annotated Templates.MethodMetadata.bodyIndex()
.Request.requestBody()
insteadcom.google.common.base.Preconditions#checkArgument
.com.google.common.base.Preconditions#checkNotNull
.com.google.common.base.Preconditions#checkState
.requests
.Proxy
.Iterable
s or
Collection
sIterable
and Collection
variables.Feign.configKey(Class, Method)
instead.Contract
base implementation that works by declaring witch annotations should be
processed and how each annotation modifies MethodMetadata
generic return type
.Response
when
Response.status()
is not in the 2xx range.decoder
should process responses with
404 status, specifically returning null or empty instead of throwing FeignException
.javax.websocket.DecodeException
, raised when a problem occurs decoding a
message.type
.Decoder
.com.google.common.base.Strings#emptyToNull
.javax.websocket.EncodeException
, raised when a problem occurs encoding a
message.Encoder
.Util.RETRY_AFTER
header into an absolute date, if possible.url
and returns a response.value
.MethodMetadata.indexToExpanderClass
is populated, this is set by contracts that support runtime
injection.MethodMetadata.indexToExpander()
.MethodMetadata.indexToExpander
is null, classes here will be instantiated by newInstance.InvocationHandler.invoke(Object, java.lang.reflect.Method, Object[])
, except for a
single method.Response.Body.asInputStream()
and Response.Body.asReader()
can be called more than once.#JavaLogger(String)
or #JavaLogger(Class)
instead.
This constructor can be used to create just one logger. Example =
Logger.JavaLogger().appendToFile("logs/first.log")
If you create multiple loggers for multiple clients and provide different files
to write log - you'll have unexpected behavior - all clients will write same log
to each file.
That's why this constructor will be removed in future.Logger
at Level.FINE
, if loggable.Map<String, ?>
, indicating the object to encode is a form.Map<String, ?>
.Request.httpMethod()
RequestTemplate#method(HttpMethod)
Contract
,
for the specified target
.target
.Contract.BaseContract.parseAndValidatateMetadata(Class)
.BeanQueryMapEncoder
instead. default encoder uses reflection to inspect
provided objects Fields to expand the objects values into a query string. If you
prefer that the query string be built using getter and setter methods, as defined
in the Java Beans API, please use the BeanQueryMapEncoder
RequestTemplate
Predicate
valueRequest
from this template.RequestInterceptors
may be configured for purposes such as adding headers to
all requests.value
, permitting path and query variables, or
just the http method.RequestTemplate.from(RequestTemplate)
supertype
, based on the genericContext
, into its upper bounds.Response
is deemed to be retryable, typically via an
ErrorDecoder
when the status
is 503.Util.RETRY_AFTER
header present in 503
status.Client.execute(Request, feign.Request.Options)
.javax.ws.rs.client.WebTarget
, as it produces requests.com.google.common.base.Strings#emptyToNull
.com.google.common.io.ByteStreams.toByteArray()
.com.google.common.io.CharStreams.toString()
.Copyright © 2012–2019 OpenFeign. All rights reserved.