...
The idea here is to have a mechanism to validate the data and throw an appropriate response with message, before without the data is being persisted in the database. This validation check is not meant to be limited for to new data but should also extend to sub-sets of a larger data set, such as data used in case of an update operation. So based on this the following approaches are proposed to perform a validation on data:
...
- Response Code: 400
- Response Body: a JSON response providing details about the failure. (response body format to be finalized)
List of impacted APIs if dry-run flag is introduced
Name | Endpoint | Issue | Required Action | |||
---|---|---|---|---|---|---|
1 | Create a Node | /{apiVersion}/dataspaces/{dataspace-name}/anchors/{anchor-name}/nodes | Returns 500 status on data validation failure | Return 400 status with updated and detailed error message. Updated Message:
| ||
2 | Update Node Leaves | /{apiVersion}/dataspaces/{dataspace-name}/anchors/{anchor-name}/nodes | Returns 400 status with entire JSON payload in error message | |||
3 | Replace Nodes | /{apiVersion}/dataspaces/{dataspace-name}/anchors/{anchor-name}/nodes | Returns 400 status with entire JSON payload in error message | |||
4 | Add List Element | /{apiVersion}/dataspaces/{dataspace-name}/anchors/{anchor-name}/list-nodes | Returns 500 status on data validation failure | |||
5 | Replace List element | /{apiVersion}/dataspaces/{dataspace-name}/anchors/{anchor-name}/list-nodes | Returns 400 status with entire JSON payload in error message |
...