Skip to main content

Standard API

org.normalizedsystems.beam:standard-api-beam::2.0.2 net.democritus.api.rest:jaxrs-standard-api-expanders::1.1.0

The jaxrs-standard-api-expanders is an expander bundleExpander BundleA set of expanders sharing a repository, packaged into an expansion resource or archive. which implements a fully generated API based directly on the elements model for a JEE applicationApplicationThe overarching model container grouping all components, domain logic, and configurations for an enterprise solution.. It is intended to be an alternative to Struts2 to support a fully generated UI.

caution

The documentation for the JAX-RS standard APIStandard API (stdAPI). A fully generated JAX-RS REST API expanding JSON:API compliant endpoints directly from JEE element models. is under construction. Not all topics are currently covered.

Overview​

This API implements the JSON:API 1.1 standard wherever possible. If there are any part sof the API that did not match this standard, such as the use of file IO or DataCommands, these endpoints were implemented under a different MediaType to indicate that they fall outside of this standard. There will therefor also not be any references from the implementation that uses JSON:API to parts that do not, only in the other direction.

Expansion resources​

The standard APIStandard API (stdAPI). A fully generated JAX-RS REST API expanding JSON:API compliant endpoints directly from JEE element models. is implemented by various modular expansion resourcesExpansion Resource (ExpansionResource). A reusable resource bundle containing expanders and features that provide specific application capabilities, defined in the expansion settings and added to the classpath during expansion.. The easiest and best way to use the standard APIStandard API (stdAPI). A fully generated JAX-RS REST API expanding JSON:API compliant endpoints directly from JEE element models. is by using the standard-api-beam.

org.normalizedsystems.beam:standard-api-beam::2.0.2
Development preview

A development preview bundle is available for the standard APIStandard API (stdAPI). A fully generated JAX-RS REST API expanding JSON:API compliant endpoints directly from JEE element models.. This is a mirror of the standard-api-beam, but containing the latest versions of all resources.

This resource is not intended for use in applicationApplicationThe overarching model container grouping all components, domain logic, and configurations for an enterprise solution. development, but rather to preview upcoming changes and test against them in advance. Note that this preview bundle is subject to changes and does not necessarily reflect the future state of the standard-api-beam.

net.democritus.preview:standard-api-dev-preview::1.2.0

Resource landscape​

As shown in the diagram, the standard APIStandard API (stdAPI). A fully generated JAX-RS REST API expanding JSON:API compliant endpoints directly from JEE element models. is provided primarily by the jaxrs-standard-api-expanders resource, which depends on jee-proxy-logic-expanders. Individual functionalities and concerns are split off into separate resources.

Main resources​

All listed resources are currently available under groupId net.democritus.api.rest and follow versioning of standard-api-expanders, currently on version 1.1.0.

  • jaxrs-standard-api-expanders: Provides the main API infrastructure such as error handling and endpoints for all standard CRUDs operations and findersFinderA search specification combining field-operator pairs to execute standard data queries on a DataElement., compliant with the JSON:API standard. The resource also expands API documentation in the form of a modular YAML-based OpenAPI v3 specification.
  • jaxrs-standard-api-fileio-expanders: Provides additional functionality to expose file upload and download endpoints represented by FieldsFieldA property of a DataElement expanded to a database column and user interface input element. in DataElements. As this is not covered by JSON:API, these endpoints do not consume the application/vnd.api+json media type for JSON:API. All errors message are still in the JSON:API format.
  • jaxrs-standard-api-datacommands-expanders: Provides additional functionality to expose endpoints for DataCommands. As operations are not covered by JSON:API, these endpoints do not consume the application/vnd.api+json media type for JSON:API, but rather application/json. All errors message are still in the JSON:API format.

Base-components resources​

All listed resources are currently available under groupId net.democritus and follow versioning of base-components, currently on version 2026.7.0.

  • account-component-standard-api-expanders: This resource as part of base-components provides authentication and authorization implementations for the relevant interceptors in the API pipeline, that integrate with the account Component.
  • assets-component-standard-api-expanders: This resource as part of base-components provides the implementation for file upload and download endpoints of the jaxrs-standard-api-fileio-expanders resource when they are represented as links to the assets::Asset element. For backwards compatibility with the current Knockout-based UI, this resource also provides two endpoints to upload files to and download files from the Asset DataElement directly, rather than the new default approach of treating Asset as a file storage provider without direct user-interaction.

Web-styles resources​

All listed resources are currently available under groupId net.democritus and follow versioning of web-styles, currently on version 2026.6.0.

  • knockout-jaxrs-stdapi-expanders: This resource as part of web-styles provides an agent implementation for our Knockout-based UI, that makes it possible to use the existing UI with the new API, rather than the Struts2-based API.
  • web-servlet-expanders: This resource generates new servlets for the JEE applicationApplicationThe overarching model container grouping all components, domain logic, and configurations for an enterprise solution. that can serve static web resources such as stylesheets without these being served by a specific API provider such as Struts2.

QuerySearch resources​

All listed resources are currently available under groupId net.democritus and follow versioning of querysearch-expanders, currently on version 3.9.0.

  • querysearch-standard-api-expanders: This resource provides endpoints and routing for filter operations based on QuerySearch, rather than findersFinderA search specification combining field-operator pairs to execute standard data queries on a DataElement.. While this implementation also complies with JSON:API, the structure of parameters is slightly different from that of findersFinderA search specification combining field-operator pairs to execute standard data queries on a DataElement., due to findersFinderA search specification combining field-operator pairs to execute standard data queries on a DataElement. using FieldOperatorPairs.

API Documentation​

The API is documented extensively in an expanded OpenAPI v3 specification, which can be found in the following location: <expansionRoot>/control/openapi/<application>.yaml.

Each expansion resourceExpansion Resource (ExpansionResource). A reusable resource bundle containing expanders and features that provide specific application capabilities, defined in the expansion settings and added to the classpath during expansion. that provides API endpoints is responsible for adding its own OpenAPI-based documentation. The included README.md file in the same folder also contains instructions on how to merge the entire specification into a single YAML or JSON file in case there is a need for this.

caution

At time of writing, the endpoints for QuerySearch are not yet available in the OpenAPI specification.

Known issues​

  • Not all errors are covered by the error handling systemSystemA set of interconnected components that work together to achieve a specific purpose or function.. Some errors may not return a JSON:API-based error payload.
  • Support to handle data validation is limited at this time.