Package com.linecorp.armeria.client
Class RestClientPreparation
java.lang.Object
com.linecorp.armeria.client.RestClientPreparation
- All Implemented Interfaces:
RequestPreparationSetters
,HttpMessageSetters
,PathAndQueryParamSetters
@UnstableApi
public final class RestClientPreparation
extends Object
implements RequestPreparationSetters
Prepares and executes a new
HttpRequest
for RestClient
.-
Method Summary
Modifier and TypeMethodDescriptionattr
(AttributeKey<V> key, V value) Sets the content for this message.Sets the content for this message.content
(MediaType contentType, CharSequence content) Sets the content for this message.Sets the content for this message.Sets the content for this message.Sets thePublisher
for this message.Sets the content as UTF-8 for this message.Sets the content as UTF-8 for this message.contentJson
(Object content) Sets the content for this message.Sets a cookie for this message.Sets multiple cookies for this message.Disables path parameters substitution.exchangeType
(ExchangeType exchangeType) <T> CompletableFuture<ResponseEntity<T>>
execute
(TypeReference<? extends T> typeRef) Sends the HTTP request and converts the JSON response body as theT
object using the defaultObjectMapper
.<T> CompletableFuture<ResponseEntity<T>>
execute
(TypeReference<? extends T> typeRef, ObjectMapper mapper) Sends the HTTP request and converts the JSON response body as theT
object using the specifiedObjectMapper
.<T> T
execute
(ResponseAs<HttpResponse, T> responseAs) Sends the HTTP request and converts theHttpResponse
using theResponseAs
.<T> CompletableFuture<ResponseEntity<T>>
Sends the HTTP request and converts the JSON response body as theT
object using the defaultObjectMapper
.<T> CompletableFuture<ResponseEntity<T>>
execute
(Class<? extends T> clazz, ObjectMapper mapper) Sends the HTTP request and converts the JSON response body as theT
object using the specifiedObjectMapper
.header
(CharSequence name, Object value) Adds a header for this message.headers
(Iterable<? extends Map.Entry<? extends CharSequence, String>> headers) Adds multiple headers for this message.maxResponseLength
(long maxResponseLength) Sets a path param for this message.pathParams
(Map<String, ?> pathParams) Sets multiple path params for this message.queryParam
(String name, Object value) Adds a query param for this message.queryParams
(Iterable<? extends Map.Entry<? extends String, String>> queryParams) Adds multiple query params for this message.requestOptions
(RequestOptions requestOptions) Sets the specifiedRequestOptions
that could overwrite the previously configured values such asresponseTimeout(Duration)
,writeTimeout(Duration)
,maxResponseLength(long)
andattr(AttributeKey, Object)
.responseTimeout
(Duration responseTimeout) responseTimeoutMillis
(long responseTimeoutMillis) trailer
(CharSequence name, Object value) Adds an HTTP trailer for this message.trailers
(Iterable<? extends Map.Entry<? extends CharSequence, String>> trailers) Adds HTTP trailers for this message.writeTimeout
(Duration writeTimeout) writeTimeoutMillis
(long writeTimeoutMillis)
-
Method Details
-
execute
Sends the HTTP request and converts the JSON response body as theT
object using the defaultObjectMapper
.- See Also:
-
execute
public <T> CompletableFuture<ResponseEntity<T>> execute(Class<? extends T> clazz, ObjectMapper mapper) Sends the HTTP request and converts the JSON response body as theT
object using the specifiedObjectMapper
. -
execute
Sends the HTTP request and converts the JSON response body as theT
object using the defaultObjectMapper
.- See Also:
-
execute
public <T> CompletableFuture<ResponseEntity<T>> execute(TypeReference<? extends T> typeRef, ObjectMapper mapper) Sends the HTTP request and converts the JSON response body as theT
object using the specifiedObjectMapper
. -
execute
Sends the HTTP request and converts theHttpResponse
using theResponseAs
. -
pathParam
Description copied from interface:PathAndQueryParamSetters
Sets a path param for this message.- Specified by:
pathParam
in interfacePathAndQueryParamSetters
-
pathParams
Description copied from interface:PathAndQueryParamSetters
Sets multiple path params for this message.- Specified by:
pathParams
in interfacePathAndQueryParamSetters
-
disablePathParams
Description copied from interface:PathAndQueryParamSetters
Disables path parameters substitution. If path parameter is not disabled and a parameter is specified using{}
or:
, value is not found, anIllegalStateException
is thrown.- Specified by:
disablePathParams
in interfacePathAndQueryParamSetters
-
queryParam
Description copied from interface:PathAndQueryParamSetters
Adds a query param for this message.- Specified by:
queryParam
in interfacePathAndQueryParamSetters
-
queryParams
public RestClientPreparation queryParams(Iterable<? extends Map.Entry<? extends String, String>> queryParams) Description copied from interface:PathAndQueryParamSetters
Adds multiple query params for this message.- Specified by:
queryParams
in interfacePathAndQueryParamSetters
-
content
Description copied from interface:HttpMessageSetters
Sets the content as UTF-8 for this message.- Specified by:
content
in interfaceHttpMessageSetters
-
content
Description copied from interface:HttpMessageSetters
Sets the content for this message.- Specified by:
content
in interfaceHttpMessageSetters
-
content
Description copied from interface:HttpMessageSetters
Sets the content for this message.- Specified by:
content
in interfaceHttpMessageSetters
-
content
Description copied from interface:HttpMessageSetters
Sets the content as UTF-8 for this message. Thecontent
is formatted byString.format(Locale, String, Object...)
with English locale.- Specified by:
content
in interfaceHttpMessageSetters
-
content
@FormatMethod public RestClientPreparation content(MediaType contentType, String format, Object... content) Description copied from interface:HttpMessageSetters
Sets the content for this message. Thecontent
is formatted byString.format(Locale, String, Object...)
with English locale.- Specified by:
content
in interfaceHttpMessageSetters
-
content
Description copied from interface:HttpMessageSetters
Sets the content for this message. Thecontent
will be wrapped usingHttpData.wrap(byte[])
, so any changes made tocontent
will be reflected in the request.- Specified by:
content
in interfaceHttpMessageSetters
-
content
Description copied from interface:HttpMessageSetters
Sets the content for this message.- Specified by:
content
in interfaceHttpMessageSetters
-
content
public RestClientPreparation content(MediaType contentType, org.reactivestreams.Publisher<? extends HttpData> content) Description copied from interface:HttpMessageSetters
Sets thePublisher
for this message.- Specified by:
content
in interfaceHttpMessageSetters
-
contentJson
Description copied from interface:HttpMessageSetters
Sets the content for this message. Thecontent
is converted into JSON format using the defaultObjectMapper
.- Specified by:
contentJson
in interfaceHttpMessageSetters
-
header
Description copied from interface:HttpMessageSetters
Adds a header for this message.- Specified by:
header
in interfaceHttpMessageSetters
-
headers
public RestClientPreparation headers(Iterable<? extends Map.Entry<? extends CharSequence, String>> headers) Description copied from interface:HttpMessageSetters
Adds multiple headers for this message.- Specified by:
headers
in interfaceHttpMessageSetters
- See Also:
-
trailer
Description copied from interface:HttpMessageSetters
Adds an HTTP trailer for this message.- Specified by:
trailer
in interfaceHttpMessageSetters
-
trailers
public RestClientPreparation trailers(Iterable<? extends Map.Entry<? extends CharSequence, String>> trailers) Description copied from interface:HttpMessageSetters
Adds HTTP trailers for this message.- Specified by:
trailers
in interfaceHttpMessageSetters
-
cookie
Description copied from interface:HttpMessageSetters
Sets a cookie for this message.- Specified by:
cookie
in interfaceHttpMessageSetters
- See Also:
-
cookies
Description copied from interface:HttpMessageSetters
Sets multiple cookies for this message.- Specified by:
cookies
in interfaceHttpMessageSetters
- See Also:
-
responseTimeout
-
responseTimeoutMillis
-
writeTimeout
-
writeTimeoutMillis
-
maxResponseLength
-
attr
-
exchangeType
-
requestOptions
Description copied from interface:RequestPreparationSetters
Sets the specifiedRequestOptions
that could overwrite the previously configured values such asresponseTimeout(Duration)
,writeTimeout(Duration)
,maxResponseLength(long)
andattr(AttributeKey, Object)
.- Specified by:
requestOptions
in interfaceRequestPreparationSetters
-