OData Annotations
OData Annotations
The metadata document exposed by the REST API includes additional information in the form of OData annotations.
These annotations provide useful metadata for localization, validation, and user interface purposes.
Supported Annotation Terms
| Term | Description |
|---|---|
Org.OData.Validation.V1.StringLength |
Indicates the maximum allowed character length. Applies to string properties only. |
Org.OData.Display.V1.DisplayName |
Specifies the display name of a property. Useful for labeling fields in user interfaces. |
Example $metadata Response
HTTP/1.1 200 OK
Content-Length: 1548
Content-Type: application/xml
OData-Version: 4.0
<?xml version="1.0" encoding="utf-8"?>
<edmx:Edmx Version="4.0" xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx">
<edmx:DataServices>
<Schema Namespace="PROLIN.Web.OData.Model" xmlns="http://docs.oasis-open.org/odata/ns/edm">
<EntityType Name="ServiceRequest">
<Property Name="Solution" Type="Edm.String">
<Annotation Term="Org.OData.Display.V1.DisplayName" String="Solution" />
<Annotation Term="Org.OData.Validation.V1.StringLength" Int="4000" />
</Property>
...
</EntityType>
</Schema>
</edmx:DataServices>
</edmx:Edmx>Practical Use
These annotations can be used by:
- Developers to dynamically generate form fields and labels.
- Validation frameworks to enforce field constraints (e.g., maximum string length).
- Localization layers to present user-friendly property names in different languages.
💡 Tip:
When integrating with UI frameworks or custom API clients, leverage the OData annotations to dynamically adapt your interface without hardcoding validation or display labels.