Class ApiJsonRequest<T extends ApiJsonRequest<T>>
- java.lang.Object
-
- io.helidon.integrations.common.rest.ApiJsonBuilder<T>
-
- io.helidon.integrations.common.rest.ApiJsonRequest<T>
-
- Type Parameters:
T- type of the request
- All Implemented Interfaces:
ApiRequest<T>
- Direct Known Subclasses:
JsonRequest,OciRequestBase,VaultRequest
public abstract class ApiJsonRequest<T extends ApiJsonRequest<T>> extends ApiJsonBuilder<T> implements ApiRequest<T>
Common base class for REST requests that have an entity. This class acts as a mutable builder of request JSON object. Path is not a part of this request.- See Also:
ApiRequest
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedApiJsonRequest()Default constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description TaddHeader(String name, String... value)Add an HTTP header.TaddQueryParam(String name, String... value)Add an HTTP query parameter.Map<String,List<String>>headers()Returns immutable configured headers.Map<String,List<String>>queryParams()Returns immutable configured query parameters.Optional<String>requestId()Configured request ID.TrequestId(String requestId)Configure request ID for logging (and possibly to send over the network).Optional<MediaType>requestMediaType()Request media type.TrequestMediaType(MediaType mediaType)The media type header, defaults toMediaType.APPLICATION_JSONwhen JSON entity is present, toMediaType.APPLICATION_OCTET_STREAMfor publisher base requests, empty otherwise.Optional<MediaType>responseMediaType()Response media type.TresponseMediaType(MediaType mediaType)The accept header, defaults toMediaType.APPLICATION_JSONfor most requests, except for requests that return publisher, which default toMediaType.APPLICATION_OCTET_STREAM.-
Methods inherited from class io.helidon.integrations.common.rest.ApiJsonBuilder
add, add, add, add, add, add, addBase64, addToArray, addToArray, addToArray, addToArray, addToArray, addToArray, addToObject, addToObject, addToObject, addToObject, addToObject, emptyArray, me, postBuild, preBuild, toJson
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.helidon.integrations.common.rest.ApiRequest
toJson
-
-
-
-
Method Detail
-
addHeader
public T addHeader(String name, String... value)
Add an HTTP header.- Specified by:
addHeaderin interfaceApiRequest<T extends ApiJsonRequest<T>>- Parameters:
name- name of the headervalue- header value(s)- Returns:
- updated request
-
addQueryParam
public T addQueryParam(String name, String... value)
Add an HTTP query parameter.- Specified by:
addQueryParamin interfaceApiRequest<T extends ApiJsonRequest<T>>- Parameters:
name- name of the parametervalue- parameter value(s)- Returns:
- updated request
-
headers
public Map<String,List<String>> headers()
Returns immutable configured headers.- Specified by:
headersin interfaceApiRequest<T extends ApiJsonRequest<T>>- Returns:
- headers configured for this request
-
queryParams
public Map<String,List<String>> queryParams()
Returns immutable configured query parameters.- Specified by:
queryParamsin interfaceApiRequest<T extends ApiJsonRequest<T>>- Returns:
- query parameters configured for this request
-
requestMediaType
public T requestMediaType(MediaType mediaType)
Description copied from interface:ApiRequestThe media type header, defaults toMediaType.APPLICATION_JSONwhen JSON entity is present, toMediaType.APPLICATION_OCTET_STREAMfor publisher base requests, empty otherwise.- Specified by:
requestMediaTypein interfaceApiRequest<T extends ApiJsonRequest<T>>- Parameters:
mediaType- media type of request- Returns:
- updated request
-
responseMediaType
public T responseMediaType(MediaType mediaType)
Description copied from interface:ApiRequestThe accept header, defaults toMediaType.APPLICATION_JSONfor most requests, except for requests that return publisher, which default toMediaType.APPLICATION_OCTET_STREAM.- Specified by:
responseMediaTypein interfaceApiRequest<T extends ApiJsonRequest<T>>- Parameters:
mediaType- accepted media type- Returns:
- updated request
-
requestId
public T requestId(String requestId)
Description copied from interface:ApiRequestConfigure request ID for logging (and possibly to send over the network).- Specified by:
requestIdin interfaceApiRequest<T extends ApiJsonRequest<T>>- Parameters:
requestId- request id- Returns:
- updated request
-
requestMediaType
public Optional<MediaType> requestMediaType()
Description copied from interface:ApiRequestRequest media type.- Specified by:
requestMediaTypein interfaceApiRequest<T extends ApiJsonRequest<T>>- Returns:
- media type if configured
- See Also:
ApiRequest.requestMediaType(io.helidon.common.http.MediaType)
-
responseMediaType
public Optional<MediaType> responseMediaType()
Description copied from interface:ApiRequestResponse media type.- Specified by:
responseMediaTypein interfaceApiRequest<T extends ApiJsonRequest<T>>- Returns:
- media type if configured
- See Also:
ApiRequest.responseMediaType(io.helidon.common.http.MediaType)
-
requestId
public Optional<String> requestId()
Description copied from interface:ApiRequestConfigured request ID.- Specified by:
requestIdin interfaceApiRequest<T extends ApiJsonRequest<T>>- Returns:
- request ID if configured
-
-