Difference between revisions of "GxRest"

From Gcube Wiki
Jump to: navigation, search
Line 9: Line 9:
 
* to abstract of the HTTP-based details required by the gCube framework when invoking a remote service
 
* to abstract of the HTTP-based details required by the gCube framework when invoking a remote service
 
* to return error responses at the familiar (for any Java programmer) level of exceptions and error codes, while web frameworks usually just let return an HTTP status.
 
* to return error responses at the familiar (for any Java programmer) level of exceptions and error codes, while web frameworks usually just let return an HTTP status.
 +
 +
== Distribution ==
 +
gxRest is available as Maven artifacts and can be added to a project with the following coordinates:
 +
<source lang="xml">
 +
<dependency>
 +
<groupId>org.gcube.common</groupId>
 +
<artifactId>gxRest</artifactId>
 +
<version>0.0.2-SNAPSHOT</version>
 +
</dependency>
 +
</source>

Revision as of 04:46, 16 February 2018

The gCube eXtensions to the Rest Protocol library (gxRest) provides a convenient round-trip interaction between a Restful web application and its client. The approach is completely independent from the web framework used to develop the web application, being entirely based on the javax.ws.rs package.

The library is consistently divided in:

  • context-aware requests sent from a client to a web application
  • outbound status-aware responses returned from a web application
  • inbound responses received by a client.

Besides achieving independence over the web framework, the prominent features of the library are:

  • to abstract of the HTTP-based details required by the gCube framework when invoking a remote service
  • to return error responses at the familiar (for any Java programmer) level of exceptions and error codes, while web frameworks usually just let return an HTTP status.

Distribution

gxRest is available as Maven artifacts and can be added to a project with the following coordinates:

<dependency>
	<groupId>org.gcube.common</groupId>
	<artifactId>gxRest</artifactId>
	<version>0.0.2-SNAPSHOT</version>
</dependency>