Class ApiClient


  • @Generated(value="io.swagger.codegen.v3.generators.java.JavaClientCodegen",
               date="2023-03-15T08:57:32.972245Z[Etc/UTC]")
    public class ApiClient
    extends Object
    • Field Detail

      • objectMapper

        protected com.fasterxml.jackson.databind.ObjectMapper objectMapper
    • Constructor Detail

      • ApiClient

        public ApiClient()
      • ApiClient

        public ApiClient​(String[] authNames)
      • ApiClient

        public ApiClient​(String authName)
        Basic constructor for single auth name
        Parameters:
        authName -
      • ApiClient

        public ApiClient​(String authName,
                         String apiKey)
        Helper constructor for single api key
        Parameters:
        authName -
        apiKey -
      • ApiClient

        public ApiClient​(String authName,
                         String username,
                         String password)
        Helper constructor for single basic auth or password oauth2
        Parameters:
        authName -
        username -
        password -
      • ApiClient

        public ApiClient​(String authName,
                         String clientId,
                         String secret,
                         String username,
                         String password)
        Helper constructor for single password oauth2
        Parameters:
        authName -
        clientId -
        secret -
        username -
        password -
    • Method Detail

      • getBasePath

        public String getBasePath()
      • getApiAuthorizations

        public Map<String,​feign.RequestInterceptor> getApiAuthorizations()
      • setApiAuthorizations

        public void setApiAuthorizations​(Map<String,​feign.RequestInterceptor> apiAuthorizations)
      • getFeignBuilder

        public feign.Feign.Builder getFeignBuilder()
      • setFeignBuilder

        public ApiClient setFeignBuilder​(feign.Feign.Builder feignBuilder)
      • getObjectMapper

        public com.fasterxml.jackson.databind.ObjectMapper getObjectMapper()
      • buildClient

        public <T extends ApiClient.Api> T buildClient​(Class<T> clientClass)
        Creates a feign client for given API interface. Usage: ApiClient apiClient = new ApiClient(); apiClient.setBasePath("http://localhost:8080"); XYZApi api = apiClient.buildClient(XYZApi.class); XYZResponse response = api.someMethod(...);
        Type Parameters:
        T - Type
        Parameters:
        clientClass - Client class
        Returns:
        The Client
      • selectHeaderAccept

        public 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)
        Parameters:
        accepts - The accepts array to select from
        Returns:
        The Accept header to use. If the given array is empty, null will be returned (not to set the Accept header explicitly).
      • selectHeaderContentType

        public 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.
        Parameters:
        contentTypes - The Content-Type array to select from
        Returns:
        The Content-Type header to use. If the given array is empty, JSON will be used.
      • setApiKey

        public void setApiKey​(String apiKey)
        Helper method to configure the first api key found
        Parameters:
        apiKey - API key
      • setCredentials

        public void setCredentials​(String username,
                                   String password)
        Helper method to configure the username/password for basic auth or password OAuth
        Parameters:
        username - Username
        password - Password
      • getTokenEndPoint

        public org.apache.oltu.oauth2.client.request.OAuthClientRequest.TokenRequestBuilder getTokenEndPoint()
        Helper method to configure the token endpoint of the first oauth found in the apiAuthorizations (there should be only one)
        Returns:
        Token request builder
      • getAuthorizationEndPoint

        public org.apache.oltu.oauth2.client.request.OAuthClientRequest.AuthenticationRequestBuilder getAuthorizationEndPoint()
        Helper method to configure authorization endpoint of the first oauth found in the apiAuthorizations (there should be only one)
        Returns:
        Authentication request builder
      • setAccessToken

        public void setAccessToken​(String accessToken,
                                   Long expiresIn)
        Helper method to pre-set the oauth access token of the first oauth found in the apiAuthorizations (there should be only one)
        Parameters:
        accessToken - Access Token
        expiresIn - Validity period in seconds
      • configureAuthorizationFlow

        public void configureAuthorizationFlow​(String clientId,
                                               String clientSecret,
                                               String redirectURI)
        Helper method to configure the oauth accessCode/implicit flow parameters
        Parameters:
        clientId - Client ID
        clientSecret - Client secret
        redirectURI - Redirect URI
      • registerAccessTokenListener

        public void registerAccessTokenListener​(OAuth.AccessTokenListener accessTokenListener)
        Configures a listener which is notified when a new access token is received.
        Parameters:
        accessTokenListener - Acesss token listener
      • getAuthorization

        public feign.RequestInterceptor getAuthorization​(String authName)
        Gets request interceptor based on authentication name
        Parameters:
        authName - Authentiation name
        Returns:
        Request Interceptor
      • addAuthorization

        public void addAuthorization​(String authName,
                                     feign.RequestInterceptor authorization)
        Adds an authorization to be used by the client
        Parameters:
        authName - Authentication name
        authorization - Request interceptor