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.
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:
- The HAL (Hypertext Application Language) specification to return lists of resources, accompanied by navigation data and search metrics.
- The Problem Details specification to describe errors in a meaningful and consistent way.
- The OpenAPI (or Swagger) v3.0 specification for documenting RESTful APIs.
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.
The following expansion resources are available for use in applications:
net.democritus:email@example.com: A complete stand-alone bundle which supplies all bundles above with all dependencies, including the correct
nsx-default-stackbundle. With this resource there's no need to add any of its dependencies to the application unless a specific version is needed.
net.democritus:firstname.lastname@example.org: The main expander bundle, which expands the JAX-RS REST stack into the main NS application stack.
net.democritus:email@example.com: An addon expander bundle for the
rest-expandersbundle, which adds support for the access control features in the
accountcomponent of the