On this page
0.22.0 (2025-06-18) Fixed
Added missing error codes for implemented errors:
RESOURCE_CREATION_FAILED
RESOURCE_UPDATE_FAILED
The error INVALID_RESOURCE_TYPE
now returns 409 Conflict
instead of 400 Bad Request
as required by section
9.1.2.6
of JSON:API v1.1.
The source pointer of various errors checking for missing json properties have been changed to refer to the parent
object of the missing field, as the path has to be valid in the request payload.
Replaced use of deprecated JsonNode.fields()
method with JsonNode.properties()
.
Added
[NSX-285][NSX-485] Added error codes:
MALFORMED_COOKIE_PARAMETER
MALFORMED_FORM_PARAMETER
MALFORMED_HEADER_PARAMETER
MALFORMED_MATRIX_PARAMETER
MALFORMED_PATH_PARAMETER
MALFORMED_QUERY_PARAMETER
MALFORMED_URI_PARAMETER
RESOURCE_TYPE_MISSING
[NSX-285][NSX-485] Added validation to ensure the resource type is provided on POST
.
Changed
Updated dependencies:
net.democritus:nsx-jackson-support
: 1.4.0 > 1.54.0
net.democritus:nsx-jaxrs-jersey-support
: 1.5.0 > 1.6.0
[NSX-285][NSX-485] Various error codes were renamed or split up:
UA_UNAUTHORIZED > AUTHENTICATION_FAILED
NOT_FOUND_ENDPOINT > ENDPOINT_NOT_FOUND
NOT_FOUND_FILTER > FILTER_NOT_FOUND
NA_METHOD_NOT_ALLOWED > METHOD_NOT_ALLOWED
NOT_FOUND_PROJECTION > PROJECTION_NOT_FOUND
FB_UNAUTHORIZED > RESOURCE_ACCESS_UNAUTHORIZED
REQUIRED_ATTRIBUTE_MISSING > REQUIRED_ATTRIBUTE_MISSING, REQUIRED_ATTRIBUTE_EMPTY
REQUIRED_RELATIONSHIP_MISSING > REQUIRED_RELATIONSHIP_MISSING, REQUIRED_RELATIONSHIP_EMPTY
NOT_FOUND_RESOURCE > RESOURCE_NOT_FOUND
INTERNAL_ERROR_UNKNOWN > UNHANDLED_INTERNAL_ERROR
[NSX-285][NSX-485] The API is now capable of returning multiple errors in a single response. The validation for
resource creation, as well as the serializers have been adapted to return as many errors as possible in a single
response.
Completely reworked the implementation for throwing API specific exceptions to support multiple errors and a cleaner
re-usable implementation.
RestApiException
is now final and all subclasses have been removed.
ApiError
with the apiError()
factory method has been added to provide a clean way to instantiate error objects.
[NSX-285][NSX-485] Parameter errors (eg path parameter, query parameter) now return multiple errors in one response,
one referring to the parameter itself and any error that was the original cause. (eg illegal date format error in
parameter serialization)
INTERNAL_ERROR_SEARCH_FAILED
now includes the resource type in the error detail message.
RESOURCE_CREATION_FAILED
now includes the resource type in the error detail message.
RESOURCE_UPDATE_FAILED
now includes the resource type in the error detail message.
MALFORMED_HEADER
errors now include a source
object with the header
field.
0.21.0 (2025-05-26) Added
Added custom anchors custom-filter-parameters
to openapi definition of filter endpoints for elements that have
a custom or customizable finder.
Changed
net.democritus.control.jaxrs.exception.ErrorParam
now implements Serializable
.
Updated dependencies:
net.democritus:nsx-jackson-support
: 1.3.0 > 1.4.0
Feature anchor filter-parameters-fields
is now always present in class FinderConnectorContract.FilterParameters
.
Previously only for customizable finders.
Feature anchor filter-parameters-methods
is now always present in class FinderConnectorContract.FilterParameters
.
Previously only for customizable finders.
Feature anchor filter-mapping
is now always present in method FinderConnector.mapFilter()
. Previously only for
customizable finders.
0.20.0 (2025-05-15) Added
Added custom-imports
anchors to AuthenticationRequestFilter
.
Changed
Updated signature of authenticate
method in AuthenticationRequestFilter
to
authenticate(AuthenticationParameters, Context)
to allow additional information to be passed to the method. This
change is backwards compatible with the previous implementation for all custom code or features.
Updated dependencies:
Updated org.apache.tika:tika-core
: 2.9.3 > 2.9.4
0.19.0 (2025-04-10) Fixed
Added missing exception mapping for validation error in to-many relationships.
Changed
Updated dependencies:
Updated net.democritus:nsx-jaxrs-jersey-support
: 1.4.0 > 1.5.0
Updated org.apache.tika:tika-core
: 2.9.2 > 2.9.3
0.18.3 (2025-04-09) Fixed
[NSX-285][NSX-485] Validation of relationships was only applied to required fields.
0.18.2 (2025-04-09) Fixed
[NSX-285][NSX-485] Data field was not checked for link fields.
[NSX-285][NSX-485] Always supplying relationship objects was not validated for link fields.
[NSX-285][NSX-485] To-many relationship objects were not validated.
0.18.1 (2025-04-09) Fixed
[NSX-285][NSX-485] null
values were not checked for required fields.
[NSX-285][NSX-485] Empty string values were not checked for required fields.
0.18.0 (2025-04-08) Fixed
The technical type validation in ReferenceConverter
always failed.
Added
[NSX-285][NSX-485] Added input validation for required attributes and relationships.
[NSX-285][NSX-485] Added validation of resource type
field in POST
requests to create a resource.
Changed
[NSX-285][NSX-485] Added error source pointer
to error with type CLIENT_GENERATED_ID_UNSUPPORTED
.
[NSX-285][NSX-485] Added error source pointer
to error with type ATTRIBUTE_UNSUPPORTED
.
[NSX-285][NSX-485] Added error source pointer
to error with type RELATIONSHIP_UNSUPPORTED
.
0.17.0 (2025-03-28) Added
Added technical validation for resource identifier objects in the ReferenceConverter.toDataRef()
method.
0.16.1 (2025-03-19) Fixed
Fixed a syntax issue in a sub-template that broke the code at compile-time.
0.16.0 (2025-03-19) Fixed
A POST call for a resource will now ignore any field that is not given and is not explicitly marked required in the
model.
Added
Added option experimental.control.stdapi.customize
to introduce custom anchors in the root feature classes for the
application and components.
Changed
Updated dependencies:
net.democritus:nsx-jackson-support
: 1.2.0 > 1.3.0
0.15.3 (2025-03-07) Fixed
[NSX-285][NSX-581] Fix support for noControlLayer
option at DataElement level.
0.15.2 (2025-01-20) Fixed
Added a missing import in AccessRightConnectorContract
.
0.15.1 (2024-12-11) Fixed
Missing field in authorization filter when default implementation is used.
0.15.0 (2024-12-11) Added
[NSX-285][NSX-520] New endpoints GET /app/accessRight/{accessRight}
and GET /app/accessRight?filter={accesssRights}
to check the access rights of the user.
[NSX-285][NSX-520] Added default implementation to the filter
feature anchor in
AuthorizationRequestFilterDynamicFeature
to use the new AccessRightValidator
class to check the access rights.
Changed
The UnknownExceptionHandler
class now also logs exceptions as warnings, as these are exceptions that were not caught
by any other exception handler.
Removed
Removed custom anchors from AuthorizationRequestFilterDynamicFeature
class.
0.14.2 (2024-11-19) Fixed
[NSX-285][NSX-562] Fixed null-check for filter parameters.
0.14.1 (2024-11-18) Fixed
[NSX-285][NSX-562] Filter parameters for finders were missing a null check to make them optional.
0.14.0 (2024-11-13) Added
[NSX-285] Support for CSV import/export.
0.13.3 (2024-11-12) Fixed
No commandId was set when executing a command though the API.
0.13.2 (2024-11-12) Fixed
[NSX-285][NSX-548] Implemented separate exception handling for DataCommand errors.
Fixed a few operationId collisions for application-level endpoints in the openapi specification.
0.13.1 (2024-11-08) Fixed
[NSX-285][NSX-554] Implemented RFC3339 date conversion for API parameters.
Added missing import in expander template.
0.13.0 (2024-11-08) Fixed
Bypass the authorization filter for OPTIONS
method.
Added
[NSX-285][NSX-462] Implemented filter to handle calls for OPTIONS
.
[NSX-285][NSX-536] Implemented filter to handle CORS (pre-flight) requests.
0.12.0 (2024-11-06) Changed
Moved pagination parameters for find endpoints to a separate class.
[NSX-285][NSX-543] Moved rule to enable Knockout with standard API to net.democritus:Expanders
.
Updated expander dependencies:
net.democritus:Expanders
: 7.7.0 -> 7.8.1
0.11.0 (2024-10-29) Added
[NSX-285][NSX-543] Added support for custom finders.
[NSX-285][NSX-543] Added support for customizable finders.
0.10.0 (2024-10-22) Fixed
Exception handler for JsonMappingException
did not handle subclasses, resulting in 500 error instead of 400.
Added
Added support for collection linkfields in openAPI specification for DataCommand.
Added contract interface for MenuItemConnector
.
Added contract interface for SessionPropertyConnector
.
Added contract interface for TranslationConnector
.
Changed
[NSX-285][NSX-546] Split up FinderConnector
and FinderConnectorContract
into separate root level classes.
0.9.0 (2024-10-19) Fixed
Added @Singleton
annotation to the connectors managed by the RouteConnector
.
Changed
Return 400 bad request for DataCommands when supplying an attribute or relationship that does not exist.
[NSX-285][NSX-538] A GET
call on a resource type will now default to the 'findAll' finder if no filter
parameter
is supplied.
0.8.0 (2024-10-17) Added
[NSX-285][NSX-425] Added support for collection linkfields in DataCommands.
Changed
[NSX-285][NSX-425] Return error as per specification when trying to replace a readonly collection relationship in
POST
and PATCH
endpoints.
0.7.0 (2024-10-16) Fixed
Exception handler for unhandled exceptions was not registered in the API.
Added
[NSX-285] Implemented error when client provides client-generated identifier on POST
requests.
[NSX-285] Return 400 bad request for resource POST/PATCH when supplying an attribute or relationship that does not exist.
0.6.0 (2024-10-14) Added
[NSX-285][NSX-425] Describe collection linkfields for GET
, POST
and PATCH
endpoints on a DataElement in the
OpenAPI specification.
[NSX-285][NSX-425] Added collection linkfields to POST
and PATCH
endpoints for DataElement resources.
0.5.0 (2024-10-10) Fixed
Fixed expanded code for DeleteResourceConnector
.
Added
[NSX-285][NSX-425] Preliminary support to include collection linkfields in the resource payloads.
0.4.1 (2024-10-10) Fixed
Fixed Maven module structure.
0.4.0 (2024-10-09) Added
[NSX-285] Added contract interfaces for route connectors, element connectors, resource connectors, finder connectors
and command connectors.
Changed
Timestamps in the output documents are now correctly formatted according to the RFC3339 format.
0.3.0 (2024-09-05) Fixed
Removed incorrect property for error handler.
Added
[NSX-285][NSX-485] Catch unhandled exceptions in request pipeline and return a valid error response.
0.2.1 (2024-08-14) Fixed
Corrected request media type in api documentation for datacommand endpoints.
0.2.0 (2024-08-10) Added
[NSX-285][NSX-411] Added OpenAPI documentation for DataCommand endpoints.
0.1.0 (2024-08-08) Fixed
Added missing #control.cruds.jaxrs
tag on PublicPropertyConnectorExpander
.
Changed
Extracted from main expanders project.
Renamed expansion resources:
net.democritus:jaxrs-standard-api-expanders > net.democritus.api.rest:jaxrs-standard-api-expanders
net.democritus:fileio-stdapi-expanders > net.democritus.api.rest:jaxrs-standard-api-fileio-expanders
net.democritus:datacommands-stdapi-expanders > net.democritus.api.rest:jaxrs-standard-api-datacommands-expanders
Renamed runtime libraries:
net.democritus:application-shared-jaxrs-stdapi > net.democritus.api.rest:jaxrs-standard-api-runtime
net.democritus:application-shared-jaxrs-stdapi-datacommands > net.democritus.api.rest:jaxrs-standard-api-datacommands-runtime
Renamed return header for upload endpoints from X-UploadFileId
to NS-File-Upload-Id
.