Class RestClient
java.lang.Object
com.gentics.contentnode.rest.client.RestClient
- All Implemented Interfaces:
RestApi
The Rest API client builds upon an underlying Jersey-client: detailed information about the use of the WebTarget-object (base) to build requests can be found at http://jersey.java.net/ .
-
Constructor Summary
ConstructorsConstructorDescriptionRestClient(String baseUrl) Initializes the REST-API client with a given base-URL and sets the necessary cookies; prepares the client for a subsequent loginRestClient(java.util.function.Supplier<org.glassfish.jersey.client.JerseyClient> clientSupplier, String baseUrl) Initialize the REST-API client with a Jersey Client supplied by the given clientSupplier and the base URL. -
Method Summary
Modifier and TypeMethodDescriptionvoidChecks if the version of the REST API on the server is the same that is used by the client; if there is a mismatch between the two versions, a RestException is thrownvoidassertResponse(GenericResponse response) Analyzes the response of a finished request and asserts that it was executed without errors; if a problem occurred during the request, a specialized RestException is thrownjakarta.ws.rs.client.WebTargetbase()Provides access to the WebTarget that is used as the base for all commands to the serverGet the cookie handlerList<org.apache.http.cookie.Cookie>Get the cookies currently stored in the clientjakarta.ws.rs.client.ClientGet the underlying Jersey Client, used to define filters and configure advanced settingsvoidLogs the specified user into the system using the password givenvoidlogout()Logs out the current uservoidsetApiToken(String apiToken) Set the API Token, that should be usedvoidssologin()Performs login on an SSO system - before this works, necessary filters have to be defined
-
Constructor Details
-
RestClient
Initializes the REST-API client with a given base-URL and sets the necessary cookies; prepares the client for a subsequent login- Parameters:
baseUrl- An URL pointing to the base of the RESTful service provider (Example: http://[hostname]/CNPortletapp/rest/)
-
RestClient
public RestClient(java.util.function.Supplier<org.glassfish.jersey.client.JerseyClient> clientSupplier, String baseUrl) Initialize the REST-API client with a Jersey Client supplied by the given clientSupplier and the base URL. The default Jersey Client is created like this:new RestClient(() -> { ClientConfig clientConfig = new ClientConfig().connectorProvider(new HttpUrlConnectorProvider()); return JerseyClientBuilder.createClient(clientConfig).register(JacksonFeature.class).register(MultiPartFeature.class); }, "http://myhost/CNPortletapp/rest");- Parameters:
clientSupplier- supplier for the Jersey ClientbaseUrl- URL pointing to the base of the REST service provider (Example: http://[hostname]/CNPortletapp/rest/)
-
-
Method Details
-
login
Logs the specified user into the system using the password given- Specified by:
loginin interfaceRestApi- Parameters:
username- user namepassword- password- Throws:
RestException- If the login failed
-
ssologin
Performs login on an SSO system - before this works, necessary filters have to be defined- Specified by:
ssologinin interfaceRestApi- Throws:
RestException- If the login via SSO failed
-
logout
Logs out the current user- Specified by:
logoutin interfaceRestApi- Throws:
RestException- If the logout failed
-
assertResponse
Analyzes the response of a finished request and asserts that it was executed without errors; if a problem occurred during the request, a specialized RestException is thrown- Specified by:
assertResponsein interfaceRestApi- Parameters:
response- The response of the request that needs to be checked- Throws:
RestException- Thrown if the request was not successful, and contains further information of the reason of failure
-
assertMatchingVersion
Checks if the version of the REST API on the server is the same that is used by the client; if there is a mismatch between the two versions, a RestException is thrown- Specified by:
assertMatchingVersionin interfaceRestApi- Throws:
RestException- Mismatch between the versions detected
-
base
public jakarta.ws.rs.client.WebTarget base()Provides access to the WebTarget that is used as the base for all commands to the server -
setApiToken
Set the API Token, that should be used- Specified by:
setApiTokenin interfaceRestApi- Parameters:
apiToken- api token
-
getJerseyClient
public jakarta.ws.rs.client.Client getJerseyClient()Get the underlying Jersey Client, used to define filters and configure advanced settings- Returns:
- Jersey Client
-
getCookies
Get the cookies currently stored in the client- Specified by:
getCookiesin interfaceRestApi- Returns:
- stored cookies
- Throws:
RestException
-
getCookieHandler
Get the cookie handler- Specified by:
getCookieHandlerin interfaceRestApi- Returns:
- cookie handler
-