Class ApiClient


@Generated(value="org.openapitools.codegen.languages.JavaClientCodegen", date="2023-04-19T09:13:44.263607-05:00[America/Chicago]") @Component("org.openapitools.client.ApiClient") public class ApiClient extends JavaTimeFormatter
  • Constructor Details

    • ApiClient

      public ApiClient()
    • ApiClient

      public ApiClient(org.springframework.web.client.RestTemplate restTemplate, CacheManager cacheManager)
    • ApiClient

      public ApiClient(org.springframework.web.client.RestTemplate restTemplate, CacheManager cacheManager, com.okta.commons.http.config.HttpClientConfiguration httpClientConfiguration)
  • Method Details

    • init

      protected void init()
    • 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
    • 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 - API key prefix
    • setAccessToken

      public void setAccessToken(String accessToken)
      Helper method to set access token for the first OAuth2 authentication.
      Parameters:
      accessToken - Access token
    • 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
    • setDebugging

      public void setDebugging(boolean debugging)
    • isDebugging

      public boolean isDebugging()
      Check that whether debugging is enabled for this API client.
      Returns:
      boolean true if this client is enabled for debugging, false otherwise
    • getDateFormat

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

      public ApiClient setDateFormat(DateFormat dateFormat)
      Set the date format used to parse/format date parameters.
      Parameters:
      dateFormat - Date format
      Returns:
      API client
    • parseDate

      public Date parseDate(String str)
      Parse the given string into Date object.
      Parameters:
      str - the string to parse
      Returns:
      the Date parsed from the string
    • formatDate

      public String formatDate(Date date)
      Format the given Date object into string.
      Parameters:
      date - the date to format
      Returns:
      the formatted date as string
    • 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
    • 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
    • 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, JSON will be used.
    • selectBody

      protected Object 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
    • expandPath

      public String expandPath(String pathTemplate, Map<String,Object> variables)
      Expand path template with variables
      Parameters:
      pathTemplate - path template with placeholders
      variables - variables to replace
      Returns:
      path with placeholders replaced by variables
    • generateQueryUri

      public String generateQueryUri(org.springframework.util.MultiValueMap<String,String> queryParams, Map<String,Object> uriParams)
      Include queryParams in uriParams taking into account the paramName
      Parameters:
      queryParams - The query parameters
      uriParams - The path parameters return templatized query string
    • invokeAPI

      public <T> org.springframework.http.ResponseEntity<T> 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
      cookieParams - The cookie 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:
      ResponseEntity<T> The response of the chosen type
      Throws:
      org.springframework.web.client.RestClientException
    • addHeadersToRequest

      protected void addHeadersToRequest(org.springframework.http.HttpHeaders headers, org.springframework.http.RequestEntity.BodyBuilder 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.http.RequestEntity.BodyBuilder requestBuilder)
      Add cookies to the request that is being built
      Parameters:
      cookies - The cookies to add
      requestBuilder - The current request
    • buildRestTemplate

      protected org.springframework.web.client.RestTemplate buildRestTemplate()
      Build the RestTemplate used to make HTTP requests.
      Returns:
      RestTemplate
    • buildRetryTemplate

      protected org.springframework.retry.support.RetryTemplate buildRetryTemplate()
    • 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