public class ApiClient extends Object
Constructor and Description |
---|
ApiClient() |
Modifier and Type | Method and Description |
---|---|
ApiClient |
addDefaultHeader(String key,
String value)
Add a default header.
|
static DateFormat |
buildDefaultDateFormat() |
String |
escapeString(String str)
Escape the given string to be used as URL query value.
|
String |
formatDate(Date date)
Format the given Date object into string.
|
String |
getBasePath() |
int |
getConnectTimeout()
Connect timeout (in milliseconds).
|
DateFormat |
getDateFormat()
Get the date format used to parse/format date parameters.
|
com.sun.jersey.api.client.Client |
getHttpClient() |
com.fasterxml.jackson.databind.ObjectMapper |
getObjectMapper()
Returns the current object mapper used for JSON serialization/deserialization.
|
Map<String,List<String>> |
getResponseHeaders()
Gets the response headers of the previous request
|
int |
getStatusCode()
Gets the status code of the previous request
|
<T> T |
invokeAPI(String path,
String method,
List<Pair> queryParams,
Object body,
Map<String,String> headerParams,
Map<String,Object> formParams,
String accept,
String contentType,
String[] authNames,
com.sun.jersey.api.client.GenericType<T> returnType)
Invoke API by sending HTTP request with the given options.
|
boolean |
isDebugging()
Check that whether debugging is enabled for this API client.
|
boolean |
isJsonMime(String mime)
Check if the given MIME is a JSON MIME.
|
List<Pair> |
parameterToPairs(String collectionFormat,
String name,
Object value) |
String |
parameterToString(Object param)
Format the given parameter object into string.
|
Date |
parseDate(String str)
Parse the given string into Date object.
|
ApiClient |
rebuildHttpClient()
Build the Client used to make HTTP requests with the latest settings,
i.e.
|
String |
selectHeaderAccept(String[] accepts)
Select the Accept header's value from the given accepts array:
if JSON exists in the given array, use it;
otherwise use all of them (joining into a string)
|
String |
selectHeaderContentType(String[] contentTypes)
Select the Content-Type header's value from the given array:
if JSON exists in the given array, use it;
otherwise use the first one of the array.
|
Object |
serialize(Object obj,
String contentType,
Map<String,Object> formParams)
Serialize the given Java object into string according the given
Content-Type (only JSON is supported for now).
|
void |
setAuthenticationMethod(AuthenticationMethod method,
String id,
String key) |
ApiClient |
setBasePath(String basePath) |
ApiClient |
setConnectTimeout(int connectionTimeout)
Set the connect timeout (in milliseconds).
|
ApiClient |
setDateFormat(DateFormat dateFormat)
Set the date format used to parse/format date parameters.
|
ApiClient |
setDebugging(boolean debugging)
Enable/disable debugging for this API client.
|
ApiClient |
setHttpClient(com.sun.jersey.api.client.Client httpClient) |
ApiClient |
setObjectMapper(com.fasterxml.jackson.databind.ObjectMapper objectMapper) |
ApiClient |
setUserAgent(String userAgent)
Set the User-Agent header's value (by adding to the default header map).
|
public final void setAuthenticationMethod(AuthenticationMethod method, String id, String key)
public static DateFormat buildDefaultDateFormat()
public ApiClient rebuildHttpClient()
public com.fasterxml.jackson.databind.ObjectMapper getObjectMapper()
Note: If you make changes to the object mapper, remember to set it back via
setObjectMapper
in order to trigger HTTP client rebuilding.
public ApiClient setObjectMapper(com.fasterxml.jackson.databind.ObjectMapper objectMapper)
public com.sun.jersey.api.client.Client getHttpClient()
public ApiClient setHttpClient(com.sun.jersey.api.client.Client httpClient)
public String getBasePath()
public int getStatusCode()
public Map<String,List<String>> getResponseHeaders()
public ApiClient setUserAgent(String userAgent)
public ApiClient addDefaultHeader(String key, String value)
key
- The header's keyvalue
- The header's valuepublic boolean isDebugging()
public ApiClient setDebugging(boolean debugging)
debugging
- To enable (true) or disable (false) debuggingpublic int getConnectTimeout()
public ApiClient setConnectTimeout(int connectionTimeout)
Integer.MAX_VALUE
.public DateFormat getDateFormat()
public ApiClient setDateFormat(DateFormat dateFormat)
public String parameterToString(Object param)
public List<Pair> parameterToPairs(String collectionFormat, String name, Object value)
public boolean isJsonMime(String mime)
public String selectHeaderAccept(String[] accepts)
accepts
- The accepts array to select frompublic String selectHeaderContentType(String[] contentTypes)
contentTypes
- The Content-Type array to select frompublic String escapeString(String str)
public Object serialize(Object obj, String contentType, Map<String,Object> formParams) throws ApiException
ApiException
public <T> T invokeAPI(String path, String method, List<Pair> queryParams, Object body, Map<String,String> headerParams, Map<String,Object> formParams, String accept, String contentType, String[] authNames, com.sun.jersey.api.client.GenericType<T> returnType) throws ApiException
path
- The sub-path of the HTTP URLmethod
- The request method, one of "GET", "POST", "PUT", and "DELETE"queryParams
- The query parametersbody
- The request body object - if it is not binary, otherwise nullheaderParams
- The header parametersformParams
- The form parametersaccept
- The request's Accept headercontentType
- The request's Content-Type headerauthNames
- The authentications to applyApiException
Copyright © 2018. All rights reserved.