Skip to main content

rest-expanders

The rest-expanders bundle is a set of expanders capable of generating a Jersey-based JAX-RS implementation of a REST API. Documentation is provided in the form of Swagger (OpenAPI) files that are automatically generated.

Overview

The rest-expanders generates a REST API implementation based on industry standard practices. Though the HTTP protocol that carries REST is standardized and uniquely defined as described in RFC 7231 and amended with the PATCH method described in RFC 5789, the REST payloads themselves are not. As such, a set of commonly used specifications and practices were adopted to provide a clean implementation.

The following specifications are used to generate a consistent and clean API which is self-documenting:

In additions to these specifications, the rest-expanders generate Swagger UI integration to provide a clean and visual interface to the API for developers and users of the application.

Expansion resources

The following expansion resources are available for use in applications:

  • net.democritus:rest-jaxrs-stack@3.6.0: A complete stand-alone bundle which supplies all bundles above with all dependencies, including the correct nsx-default-stack bundle. With this resource there's no need to add any of its dependencies to the application unless a specific version is needed.
  • net.democritus:rest-expanders@3.6.0: The main expander bundle, which expands the JAX-RS REST stack into the main NS application stack.
  • net.democritus:rest-account-security-expanders@3.6.0: An addon expander bundle for the rest-expanders bundle, which adds support for the access control features in the account component of the base-components.