public class ApiClient extends Object
Constructor and Description |
---|
ApiClient() |
Modifier and Type | Method and Description |
---|---|
ApiClient |
addDefaultCookie(String key,
String value)
Add a default cookie.
|
ApiClient |
addDefaultHeader(String key,
String value)
Add a default header.
|
okhttp3.Call |
buildCall(String path,
String method,
List<Pair> queryParams,
List<Pair> collectionQueryParams,
Object body,
Map<String,String> headerParams,
Map<String,String> cookieParams,
Map<String,Object> formParams,
String[] authNames,
ApiCallback callback)
Build HTTP call with the given options.
|
okhttp3.Request |
buildRequest(String path,
String method,
List<Pair> queryParams,
List<Pair> collectionQueryParams,
Object body,
Map<String,String> headerParams,
Map<String,String> cookieParams,
Map<String,Object> formParams,
String[] authNames,
ApiCallback callback)
Build an HTTP request with the given options.
|
okhttp3.RequestBody |
buildRequestBodyFormEncoding(Map<String,Object> formParams)
Build a form-encoding request body with the given form parameters.
|
okhttp3.RequestBody |
buildRequestBodyMultipart(Map<String,Object> formParams)
Build a multipart (file uploading) request body with the given form parameters,
which could contain text fields and file fields.
|
String |
buildUrl(String path,
List<Pair> queryParams,
List<Pair> collectionQueryParams)
Build full URL by concatenating base path, the given sub path and query parameters.
|
String |
collectionPathParameterToString(String collectionFormat,
Collection value)
Formats the specified collection path parameter to a string value.
|
<T> T |
deserialize(okhttp3.Response response,
Type returnType)
Deserialize response body to Java object, according to the return type and
the Content-Type response header.
|
File |
downloadFileFromResponse(okhttp3.Response response)
Download file from the given response.
|
String |
escapeString(String str)
Escape the given string to be used as URL query value.
|
<T> ApiResponse<T> |
execute(okhttp3.Call call)
|
<T> ApiResponse<T> |
execute(okhttp3.Call call,
Type returnType)
Execute HTTP call and deserialize the HTTP response body into the given return type.
|
<T> void |
executeAsync(okhttp3.Call call,
ApiCallback<T> callback)
|
<T> void |
executeAsync(okhttp3.Call call,
Type returnType,
ApiCallback<T> callback)
Execute HTTP call asynchronously.
|
Authentication |
getAuthentication(String authName)
Get authentication for the given name.
|
Map<String,Authentication> |
getAuthentications()
Get authentications (key: authentication name, value: authentication).
|
String |
getBasePath()
Get base path
|
int |
getConnectTimeout()
Get connection timeout (in milliseconds).
|
DateFormat |
getDateFormat() |
okhttp3.OkHttpClient |
getHttpClient()
Get HTTP client
|
JSON |
getJSON()
Get JSON
|
KeyManager[] |
getKeyManagers() |
int |
getReadTimeout()
Get read timeout (in milliseconds).
|
InputStream |
getSslCaCert()
Get SSL CA cert.
|
String |
getTempFolderPath()
The path of temporary folder used to store downloaded files from endpoints
with file response.
|
int |
getWriteTimeout()
Get write timeout (in milliseconds).
|
String |
guessContentTypeFromFile(File file)
Guess Content-Type header from the given file (defaults to "application/octet-stream").
|
<T> T |
handleResponse(okhttp3.Response response,
Type returnType)
Handle the given response, return the deserialized object when the response is successful.
|
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.
|
boolean |
isVerifyingSsl()
True if isVerifyingSsl flag is on
|
List<Pair> |
parameterToPair(String name,
Object value)
Formats the specified query parameter to a list containing a single
Pair object. |
List<Pair> |
parameterToPairs(String collectionFormat,
String name,
Collection value)
Formats the specified collection query parameters to a list of
Pair objects. |
String |
parameterToString(Object param)
Format the given parameter object into string.
|
File |
prepareDownloadFile(okhttp3.Response response)
Prepare file for download
|
void |
processCookieParams(Map<String,String> cookieParams,
okhttp3.Request.Builder reqBuilder)
Set cookie parameters to the request builder, including default cookies.
|
void |
processHeaderParams(Map<String,String> headerParams,
okhttp3.Request.Builder reqBuilder)
Set header parameters to the request builder, including default headers.
|
String |
sanitizeFilename(String filename)
Sanitize filename by removing path.
|
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.
|
okhttp3.RequestBody |
serialize(Object obj,
String contentType)
Serialize the given Java object into request body according to the object's
class and the request Content-Type.
|
void |
setAccessToken(String accessToken)
Helper method to set access token for the first OAuth2 authentication.
|
void |
setApiKey(String apiKey)
Helper method to set API key value for the first API key authentication.
|
void |
setApiKeyPrefix(String apiKeyPrefix)
Helper method to set API key prefix for the first API key authentication.
|
ApiClient |
setBasePath(String basePath)
Set base path
|
ApiClient |
setConnectTimeout(int connectionTimeout)
Sets the connect timeout (in milliseconds).
|
ApiClient |
setDateFormat(DateFormat dateFormat) |
ApiClient |
setDebugging(boolean debugging)
Enable/disable debugging for this API client.
|
ApiClient |
setHttpClient(okhttp3.OkHttpClient newHttpClient)
Set HTTP client, which must never be null.
|
ApiClient |
setJSON(JSON json)
Set JSON
|
ApiClient |
setKeyManagers(KeyManager[] managers)
Configure client keys to use for authorization in an SSL session.
|
ApiClient |
setLenientOnJson(boolean lenientOnJson) |
void |
setPassword(String password)
Helper method to set password for the first HTTP basic authentication.
|
ApiClient |
setReadTimeout(int readTimeout)
Sets the read timeout (in milliseconds).
|
ApiClient |
setSqlDateFormat(DateFormat dateFormat) |
ApiClient |
setSslCaCert(InputStream sslCaCert)
Configure the CA certificate to be trusted when making https requests.
|
ApiClient |
setTempFolderPath(String tempFolderPath)
Set the temporary folder path (for downloading files)
|
ApiClient |
setUserAgent(String userAgent)
Set the User-Agent header's value (by adding to the default header map).
|
void |
setUsername(String username)
Helper method to set username for the first HTTP basic authentication.
|
ApiClient |
setVerifyingSsl(boolean verifyingSsl)
Configure whether to verify certificate and hostname when making https requests.
|
ApiClient |
setWriteTimeout(int writeTimeout)
Sets the write timeout (in milliseconds).
|
void |
updateParamsForAuth(String[] authNames,
List<Pair> queryParams,
Map<String,String> headerParams,
Map<String,String> cookieParams)
Update query and header parameters based on authentication settings.
|
public String getBasePath()
public ApiClient setBasePath(String basePath)
basePath
- Base path of the URL (e.g http://localhost:8080/engine-restpublic okhttp3.OkHttpClient getHttpClient()
public ApiClient setHttpClient(okhttp3.OkHttpClient newHttpClient)
newHttpClient
- An instance of OkHttpClientNullPointerException
- when newHttpClient is nullpublic JSON getJSON()
public ApiClient setJSON(JSON json)
json
- JSON objectpublic boolean isVerifyingSsl()
public ApiClient setVerifyingSsl(boolean verifyingSsl)
verifyingSsl
- True to verify TLS/SSL connectionpublic InputStream getSslCaCert()
public ApiClient setSslCaCert(InputStream sslCaCert)
sslCaCert
- input stream for SSL CA certpublic KeyManager[] getKeyManagers()
public ApiClient setKeyManagers(KeyManager[] managers)
managers
- The KeyManagers to usepublic DateFormat getDateFormat()
public ApiClient setDateFormat(DateFormat dateFormat)
public ApiClient setSqlDateFormat(DateFormat dateFormat)
public ApiClient setLenientOnJson(boolean lenientOnJson)
public Map<String,Authentication> getAuthentications()
public Authentication getAuthentication(String authName)
authName
- The authentication namepublic void setUsername(String username)
username
- Usernamepublic void setPassword(String password)
password
- Passwordpublic void setApiKey(String apiKey)
apiKey
- API keypublic void setApiKeyPrefix(String apiKeyPrefix)
apiKeyPrefix
- API key prefixpublic void setAccessToken(String accessToken)
accessToken
- Access tokenpublic ApiClient setUserAgent(String userAgent)
userAgent
- HTTP request's user agentpublic ApiClient addDefaultHeader(String key, String value)
key
- The header's keyvalue
- The header's valuepublic ApiClient addDefaultCookie(String key, String value)
key
- The cookie's keyvalue
- The cookie's valuepublic boolean isDebugging()
public ApiClient setDebugging(boolean debugging)
debugging
- To enable (true) or disable (false) debuggingpublic String getTempFolderPath()
null
, i.e. using
the system's default tempopary folder.public ApiClient setTempFolderPath(String tempFolderPath)
tempFolderPath
- Temporary folder pathpublic int getConnectTimeout()
public ApiClient setConnectTimeout(int connectionTimeout)
Integer.MAX_VALUE
.connectionTimeout
- connection timeout in millisecondspublic int getReadTimeout()
public ApiClient setReadTimeout(int readTimeout)
Integer.MAX_VALUE
.readTimeout
- read timeout in millisecondspublic int getWriteTimeout()
public ApiClient setWriteTimeout(int writeTimeout)
Integer.MAX_VALUE
.writeTimeout
- connection timeout in millisecondspublic String parameterToString(Object param)
param
- Parameterpublic List<Pair> parameterToPair(String name, Object value)
Pair
object.
Note that value
must not be a collection.name
- The name of the parameter.value
- The value of the parameter.Pair
object.public List<Pair> parameterToPairs(String collectionFormat, String name, Collection value)
Pair
objects.
Note that the values of each of the returned Pair objects are percent-encoded.collectionFormat
- The collection format of the parameter.name
- The name of the parameter.value
- The value of the parameter.Pair
objects.public String collectionPathParameterToString(String collectionFormat, Collection value)
collectionFormat
- The collection format of the parameter.value
- The value of the parameter.public String sanitizeFilename(String filename)
filename
- The filename to be sanitizedpublic boolean isJsonMime(String mime)
mime
- MIME (Multipurpose Internet Mail Extensions)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)
str
- String to be escapedpublic <T> T deserialize(okhttp3.Response response, Type returnType) throws ApiException
T
- Typeresponse
- HTTP responsereturnType
- The type of the Java objectApiException
- If fail to deserialize response body, i.e. cannot read response body
or the Content-Type of the response is not supported.public okhttp3.RequestBody serialize(Object obj, String contentType) throws ApiException
obj
- The Java objectcontentType
- The request Content-TypeApiException
- If fail to serialize the given objectpublic File downloadFileFromResponse(okhttp3.Response response) throws ApiException
response
- An instance of the Response objectApiException
- If fail to read file content from response and write to diskpublic File prepareDownloadFile(okhttp3.Response response) throws IOException
response
- An instance of the Response objectIOException
- If fail to prepare file for downloadpublic <T> ApiResponse<T> execute(okhttp3.Call call) throws ApiException
T
- Typecall
- An instance of the Call objectApiException
- If fail to execute the callpublic <T> ApiResponse<T> execute(okhttp3.Call call, Type returnType) throws ApiException
T
- The return type corresponding to (same with) returnTypereturnType
- The return type used to deserialize HTTP response bodycall
- CallApiException
- If fail to execute the callpublic <T> void executeAsync(okhttp3.Call call, ApiCallback<T> callback)
T
- Typecall
- An instance of the Call objectcallback
- ApiCallback<T>public <T> void executeAsync(okhttp3.Call call, Type returnType, ApiCallback<T> callback)
T
- Typecall
- The callback to be executed when the API call finishesreturnType
- Return typecallback
- ApiCallbackexecute(Call, Type)
public <T> T handleResponse(okhttp3.Response response, Type returnType) throws ApiException
T
- Typeresponse
- ResponsereturnType
- Return typeApiException
- If the response has an unsuccessful status code or
fail to deserialize the response bodypublic okhttp3.Call buildCall(String path, String method, List<Pair> queryParams, List<Pair> collectionQueryParams, Object body, Map<String,String> headerParams, Map<String,String> cookieParams, Map<String,Object> formParams, String[] authNames, ApiCallback callback) throws ApiException
path
- The sub-path of the HTTP URLmethod
- The request method, one of "GET", "HEAD", "OPTIONS", "POST", "PUT", "PATCH" and "DELETE"queryParams
- The query parameterscollectionQueryParams
- The collection query parametersbody
- The request body objectheaderParams
- The header parameterscookieParams
- The cookie parametersformParams
- The form parametersauthNames
- The authentications to applycallback
- Callback for upload/download progressApiException
- If fail to serialize the request body objectpublic okhttp3.Request buildRequest(String path, String method, List<Pair> queryParams, List<Pair> collectionQueryParams, Object body, Map<String,String> headerParams, Map<String,String> cookieParams, Map<String,Object> formParams, String[] authNames, ApiCallback callback) throws ApiException
path
- The sub-path of the HTTP URLmethod
- The request method, one of "GET", "HEAD", "OPTIONS", "POST", "PUT", "PATCH" and "DELETE"queryParams
- The query parameterscollectionQueryParams
- The collection query parametersbody
- The request body objectheaderParams
- The header parameterscookieParams
- The cookie parametersformParams
- The form parametersauthNames
- The authentications to applycallback
- Callback for upload/download progressApiException
- If fail to serialize the request body objectpublic String buildUrl(String path, List<Pair> queryParams, List<Pair> collectionQueryParams)
path
- The sub pathqueryParams
- The query parameterscollectionQueryParams
- The collection query parameterspublic void processHeaderParams(Map<String,String> headerParams, okhttp3.Request.Builder reqBuilder)
headerParams
- Header parameters in the form of MapreqBuilder
- Request.Builderpublic void processCookieParams(Map<String,String> cookieParams, okhttp3.Request.Builder reqBuilder)
cookieParams
- Cookie parameters in the form of MapreqBuilder
- Request.Builderpublic void updateParamsForAuth(String[] authNames, List<Pair> queryParams, Map<String,String> headerParams, Map<String,String> cookieParams)
authNames
- The authentications to applyqueryParams
- List of query parametersheaderParams
- Map of header parameterscookieParams
- Map of cookie parameterspublic okhttp3.RequestBody buildRequestBodyFormEncoding(Map<String,Object> formParams)
formParams
- Form parameters in the form of Mappublic okhttp3.RequestBody buildRequestBodyMultipart(Map<String,Object> formParams)
formParams
- Form parameters in the form of MapCopyright © 2021. All rights reserved.