Added missing Contract/ConstrainedTo annotations to the DataImportConnectorContract and
DataExportConnectorContract interfaces.
Added missing Singleton annotation to DataImportConnector and DataExportConnector classes.
Some errors did not include an error identifier.
It is no longer required to provide an object for attributes or relationships in a POST or PATCH call if these
are not empty because non-required fields were omitted.
Added ApiError.Builder.identifier() to pass a unique identifier for the occurrence of the problem. This will default
to a random UUID if not supplied and the value is returned in the id field of the error response object.
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().
[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.
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.
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.
[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.