Implemented in 5.3
The goal is to:
- provide easy-to-use and configurable client for REST calls that can be reused by many other integrations
- have a ‘RestWorkbench’ that will be able to display response in a readable way
submodule of the rest - similar on REST tools - it will be distributed on demand/dependency handling
- do not rely on any specific implementation of JAX-RS 2.0 - let the programmers to use whatever library they want (i.e. Jersey, RestEasy, etc.)
- since we use RESTEasy - provide a RESTEasy client with some specific features such as client proxy framework
- use observation mechanism to register different clients for different integrations
- error handling
- additional client implementation
- RestWorkbench implementation
- evaluate implementation on WebSphere Commerce and Cumulus
- based on the finding from the two suggest and implement further improvements
Description of interfaces/classes in the diagram
By implementing this interface, you can create your own rest client.
|RestClientDefinition||info.magnolia.rest.client||Base interface for client definition.|
|ClientFactory||info.magnolia.rest.client.factory||By implementing this interface, you can create a client factory and set up RestClient.|
|ClientProxyDefinition||info.magnolia.rest.client.proxy||RestEasy client specific - allows you to configure and use proxies, see documentation.|
Base abstract class for all REST calls (GET, POST, PUT, HEAD, DELETE).
Response is mapped to the instance of entity class which you need to set.
Definition of rest calls by configuration
Using a client proxy framework (RestEasy only)
- basic implementation done