Standard API
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.
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.
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.
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.restand follow versioning ofstandard-api-expanders, currently on version1.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 theapplication/vnd.api+jsonmedia type forJSON: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 theapplication/vnd.api+jsonmedia type forJSON:API, but ratherapplication/json. All errors message are still in the JSON:API format.
Base-components resources
All listed resources are currently available under groupId
net.democritusand follow versioning ofbase-components, currently on version2026.7.0.
account-component-standard-api-expanders: This resource as part ofbase-componentsprovides authentication and authorization implementations for the relevant interceptors in the API pipeline, that integrate with theaccountComponent.assets-component-standard-api-expanders: This resource as part ofbase-componentsprovides the implementation for file upload and download endpoints of thejaxrs-standard-api-fileio-expandersresource when they are represented as links to theassets::Assetelement. 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.democritusand follow versioning ofweb-styles, currently on version2026.6.0.
knockout-jaxrs-stdapi-expanders: This resource as part ofweb-stylesprovides 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.democritusand follow versioning ofquerysearch-expanders, currently on version3.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.
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.