Class RestClient
java.lang.Object
com.gentics.contentnode.rest.client.RestClient
This client provides wrappers, helper-methods and exception-handling to facilitate requests to the REST API. It is initialized with a URL pointing to the base-location providing the services. After a successful login, a WebTarget-object can be retrieved that is then used to assemble and send requests; response-objects are returned from the server, containing the requested data and further information in the case of an error.
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
ConstructorDescriptionRestClient
(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 TypeMethodDescriptionvoid
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 thrownvoid
assertResponse
(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 thrownauthenticate
(String sid, String sessionSecret) Authenticate with given sid and session secretjavax.ws.rs.client.WebTarget
base()
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 clientjavax.ws.rs.client.Client
Get the underlying Jersey Client, used to define filters and configure advanced settingsgetSid()
Get the ID of the active session, as generated during loginvoid
Logs the specified user into the system using the password givenvoid
logout()
Logs out the current uservoid
Set the ID of the session that should be used.void
ssologin()
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- 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- Throws:
RestException
- If the login via SSO failed
-
logout
Logs out the current user- Throws:
RestException
- If the logout failed
-
authenticate
Authenticate with given sid and session secret- Parameters:
sid
- SIDsessionSecret
- session secret- Returns:
- user
- Throws:
RestException
- if authentication fails
-
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- 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- Throws:
RestException
- Mismatch between the versions detected
-
base
Provides access to the WebTarget that is used as the base for all commands to the server- Returns:
- The base resource, with the active SID already set
- Throws:
RestException
- If no valid SID is registered with the client
-
getSid
Get the ID of the active session, as generated during login- Returns:
- session ID
-
setSid
Set the ID of the session that should be used. -
getJerseyClient
public javax.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- Returns:
- stored cookies
- Throws:
RestException
-
getCookieHandler
Get the cookie handler- Returns:
- cookie handler
-