Required attributes of the JSON metadata representation
Practical experience applying SData, along with feedback from teams using JSON, clearly demonstrates that the capabilities of SData v2.0 for expressing metadata should possess at least the following attributes:
- Support for JSON as a first-class representation (i.e., no requirement for XML or Atom support when using JSON as the metadata representation).
- Available at the resource and property level.
- Retrievable:
- alongside a regular feed (similar to the includeSchema URL parameter in SData v1.1).
- from a predefined location (similar to the $schema URL segment in SData v1.1).
- Support of the relevant metadata elements defined in the SData v1.1 specification.
- Standards-based where appropriate.
- As concise and unobtrusive as possible.
- Human and machine readable.
- Suitable for validation and automated testing as well as the main use case of enabling smart clients to respond to metadata.