Dear partners and customers,
Currently, we have two OData endpoints:
- ~/odata, which is GI-based, uses the OData v3 protocol, and has been with us since the 5.1 release; it is widely adopted in various ISV solutions
- ~/odatav4, which is DAC-based, uses the OData v4 protocol, and was released in 2020R2.
The OData v3 protocol slowly becomes obsolete in favor of OData v4. For example, some .NET client libraries stop supporting OData v3 at all, and .NET Core/.NET 5.0+ supports OData v3 only in the compatibility mode with some restrictions.
Because of that, we’d like to collect feedback on the OData v3 endpoint usage (GI-based, located at ~/odata route) and ask some question on what protocol-related features you actually use.
As you may know, the default payload format for OData v3 is Atom XML (
Accept: application/atom+xml or
$format=atom). OData v3 also supports JSON in two forms: a regular one (
Accept: application/json or
$format=json) and a verbose one (
Accept: application/json;odata=verbose or
Typically, non-verbose JSON is a standard choice since it is much simpler than Atom, and reduces the average payload size.
So, the first question is: do you use Atom XML or JSON Verbose in your integrations instead of plain JSON? If you use one of these formats, why do you prefer it over plain JSON?
Secondly, do your integrations depend on some OData v3-specific protocol features? What do you think about migrating the GI-based endpoint to the OData v4 protocol?
Any opinions would be much appreciated.