java.lang.Object
travel.wink.sdk.payment.acquiring.invoker.JavaTimeFormatter
travel.wink.sdk.payment.acquiring.invoker.ApiClient

@Generated(value="org.openapitools.codegen.languages.JavaClientCodegen", date="2022-10-18T16:41:39.977899012+07:00[Asia/Bangkok]") public class ApiClient extends JavaTimeFormatter
  • Constructor Details

    • ApiClient

      public ApiClient()
    • ApiClient

      public ApiClient(org.springframework.web.reactive.function.client.WebClient webClient)
    • ApiClient

      public ApiClient(com.fasterxml.jackson.databind.ObjectMapper mapper, DateFormat format)
    • ApiClient

      public ApiClient(org.springframework.web.reactive.function.client.WebClient webClient, com.fasterxml.jackson.databind.ObjectMapper mapper, DateFormat format)
  • Method Details

    • createDefaultDateFormat

      public static DateFormat createDefaultDateFormat()
    • createDefaultObjectMapper

      public static com.fasterxml.jackson.databind.ObjectMapper createDefaultObjectMapper(@Nullable DateFormat dateFormat)
    • init

      protected void init()
    • buildWebClientBuilder

      public static org.springframework.web.reactive.function.client.WebClient.Builder buildWebClientBuilder(com.fasterxml.jackson.databind.ObjectMapper mapper)
      Build the WebClientBuilder used to make WebClient.
      Parameters:
      mapper - ObjectMapper used for serialize/deserialize
      Returns:
      WebClient
    • buildWebClientBuilder

      public static org.springframework.web.reactive.function.client.WebClient.Builder buildWebClientBuilder()
      Build the WebClientBuilder used to make WebClient.
      Returns:
      WebClient
    • buildWebClient

      public static org.springframework.web.reactive.function.client.WebClient buildWebClient(com.fasterxml.jackson.databind.ObjectMapper mapper)
      Build the WebClient used to make HTTP requests.
      Parameters:
      mapper - ObjectMapper used for serialize/deserialize
      Returns:
      WebClient
    • buildWebClient

      public static org.springframework.web.reactive.function.client.WebClient buildWebClient()
      Build the WebClient used to make HTTP requests.
      Returns:
      WebClient
    • getBasePath

      public String getBasePath()
      Get the current base path
      Returns:
      String the base path
    • setBasePath

      public ApiClient setBasePath(String basePath)
      Set the base path, which should include the host
      Parameters:
      basePath - the base path
      Returns:
      ApiClient this client
    • getAuthentications

      public Map<String,Authentication> getAuthentications()
      Get authentications (key: authentication name, value: authentication).
      Returns:
      Map the currently configured authentication types
    • getAuthentication

      public Authentication getAuthentication(String authName)
      Get authentication for the given name.
      Parameters:
      authName - The authentication name
      Returns:
      The authentication, null if not found
    • setBearerToken

      public void setBearerToken(String bearerToken)
      Helper method to set access token for the first Bearer authentication.
      Parameters:
      bearerToken - Bearer token
    • setUsername

      public void setUsername(String username)
      Helper method to set username for the first HTTP basic authentication.
      Parameters:
      username - the username
    • setPassword

      public void setPassword(String password)
      Helper method to set password for the first HTTP basic authentication.
      Parameters:
      password - the password
    • setApiKey

      public void setApiKey(String apiKey)
      Helper method to set API key value for the first API key authentication.
      Parameters:
      apiKey - the API key
    • setApiKeyPrefix

      public void setApiKeyPrefix(String apiKeyPrefix)
      Helper method to set API key prefix for the first API key authentication.
      Parameters:
      apiKeyPrefix - the API key prefix
    • setUserAgent

      public ApiClient setUserAgent(String userAgent)
      Set the User-Agent header's value (by adding to the default header map).
      Parameters:
      userAgent - the user agent string
      Returns:
      ApiClient this client
    • addDefaultHeader

      public ApiClient addDefaultHeader(String name, String value)
      Add a default header.
      Parameters:
      name - The header's name
      value - The header's value
      Returns:
      ApiClient this client
    • addDefaultCookie

      public ApiClient addDefaultCookie(String name, String value)
      Add a default cookie.
      Parameters:
      name - The cookie's name
      value - The cookie's value
      Returns:
      ApiClient this client
    • getDateFormat

      public DateFormat getDateFormat()
      Get the date format used to parse/format date parameters.
      Returns:
      DateFormat format
    • parseDate

      public Date parseDate(String str)
      Parse the given string into Date object.
    • formatDate

      public String formatDate(Date date)
      Format the given Date object into string.
    • getObjectMapper

      public com.fasterxml.jackson.databind.ObjectMapper getObjectMapper()
      Get the ObjectMapper used to make HTTP requests.
      Returns:
      ObjectMapper objectMapper
    • getWebClient

      public org.springframework.web.reactive.function.client.WebClient getWebClient()
      Get the WebClient used to make HTTP requests.
      Returns:
      WebClient webClient
    • parameterToString

      public String parameterToString(Object param)
      Format the given parameter object into string.
      Parameters:
      param - the object to convert
      Returns:
      String the parameter represented as a String
    • parameterToMultiValueMap

      public org.springframework.util.MultiValueMap<String,String> parameterToMultiValueMap(ApiClient.CollectionFormat collectionFormat, String name, Object value)
      Converts a parameter to a MultiValueMap for use in REST requests
      Parameters:
      collectionFormat - The format to convert to
      name - The name of the parameter
      value - The parameter's value
      Returns:
      a Map containing the String value(s) of the input parameter
    • isJsonMime

      public boolean isJsonMime(String mediaType)
      Check if the given String is a JSON MIME.
      Parameters:
      mediaType - the input MediaType
      Returns:
      boolean true if the MediaType represents JSON, false otherwise
    • isJsonMime

      public boolean isJsonMime(org.springframework.http.MediaType mediaType)
      Check if the given MIME is a JSON MIME. JSON MIME examples: application/json application/json; charset=UTF8 APPLICATION/JSON
      Parameters:
      mediaType - the input MediaType
      Returns:
      boolean true if the MediaType represents JSON, false otherwise
    • isProblemJsonMime

      public boolean isProblemJsonMime(String mediaType)
      Check if the given String is a Problem JSON MIME (RFC-7807).
      Parameters:
      mediaType - the input MediaType
      Returns:
      boolean true if the MediaType represents Problem JSON, false otherwise
    • selectHeaderAccept

      public List<org.springframework.http.MediaType> 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)
      Parameters:
      accepts - The accepts array to select from
      Returns:
      List The list of MediaTypes to use for the Accept header
    • selectHeaderContentType

      public org.springframework.http.MediaType 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.
      Parameters:
      contentTypes - The Content-Type array to select from
      Returns:
      MediaType The Content-Type header to use. If the given array is empty, null will be returned.
    • selectBody

      protected org.springframework.web.reactive.function.BodyInserter<?,? super org.springframework.http.client.reactive.ClientHttpRequest> selectBody(Object obj, org.springframework.util.MultiValueMap<String,Object> formParams, org.springframework.http.MediaType contentType)
      Select the body to use for the request
      Parameters:
      obj - the body object
      formParams - the form parameters
      contentType - the content type of the request
      Returns:
      Object the selected body
    • invokeAPI

      public <T> org.springframework.web.reactive.function.client.WebClient.ResponseSpec invokeAPI(String path, org.springframework.http.HttpMethod method, Map<String,Object> pathParams, org.springframework.util.MultiValueMap<String,String> queryParams, Object body, org.springframework.http.HttpHeaders headerParams, org.springframework.util.MultiValueMap<String,String> cookieParams, org.springframework.util.MultiValueMap<String,Object> formParams, List<org.springframework.http.MediaType> accept, org.springframework.http.MediaType contentType, String[] authNames, org.springframework.core.ParameterizedTypeReference<T> returnType) throws org.springframework.web.client.RestClientException
      Invoke API by sending HTTP request with the given options.
      Type Parameters:
      T - the return type to use
      Parameters:
      path - The sub-path of the HTTP URL
      method - The request method
      pathParams - The path parameters
      queryParams - The query parameters
      body - The request body object
      headerParams - The header parameters
      formParams - The form parameters
      accept - The request's Accept header
      contentType - The request's Content-Type header
      authNames - The authentications to apply
      returnType - The return type into which to deserialize the response
      Returns:
      The response body in chosen type
      Throws:
      org.springframework.web.client.RestClientException
    • addHeadersToRequest

      protected void addHeadersToRequest(org.springframework.http.HttpHeaders headers, org.springframework.web.reactive.function.client.WebClient.RequestBodySpec requestBuilder)
      Add headers to the request that is being built
      Parameters:
      headers - The headers to add
      requestBuilder - The current request
    • addCookiesToRequest

      protected void addCookiesToRequest(org.springframework.util.MultiValueMap<String,String> cookies, org.springframework.web.reactive.function.client.WebClient.RequestBodySpec requestBuilder)
      Add cookies to the request that is being built
      Parameters:
      cookies - The cookies to add
      requestBuilder - The current request
    • updateParamsForAuth

      protected void updateParamsForAuth(String[] authNames, org.springframework.util.MultiValueMap<String,String> queryParams, org.springframework.http.HttpHeaders headerParams, org.springframework.util.MultiValueMap<String,String> cookieParams)
      Update query and header parameters based on authentication settings.
      Parameters:
      authNames - The authentications to apply
      queryParams - The query parameters
      headerParams - The header parameters
      cookieParams - the cookie parameters
    • collectionPathParameterToString

      public String collectionPathParameterToString(ApiClient.CollectionFormat collectionFormat, Collection<?> values)
      Formats the specified collection path parameter to a string value.
      Parameters:
      collectionFormat - The collection format of the parameter.
      values - The values of the parameter.
      Returns:
      String representation of the parameter