OData uses URIs to identify resources. For every OData service whose service root is abbreviated as the following fixed resources can be found:
The service document
The service document lists entity sets, functions, and singletons that can be retrieved. Clients can use the service document to navigate the model in a hypermedia-driven fashion.
The metadata document
The metadata document describes the types, sets, functions and actions understood by the OData service. Clients can use the metadata document to understand how to query and interact with entities in the service.
The URIs for the dynamic resources may be computed from the hypermedia information in the service document and metadata document.
OData leverages the HTTP verbs to indicate the operations on the resources.
- GET: Get the resource (a collection of entities, a single entity, a structural property, a navigation property, a stream, etc.).
- POST: Create a new resource.
- PUT: Update an existing resource by replacing it with a complete instance.
- PATCH: Update an existing resource by replacing part of its properties with a partial instance.
- DELETE: Remove the resource.
OData uses different formats for representing data and the data model. In OData protocol version 4.0, JSON format is the standard for representing data, with the Atom format still being in committee specification stage. For representing the data model, the Common Schema Definition Language (CSDL) which defines an XML representation of the entity data model exposed by OData services is used.