What is the difference between Odata and Publish Rest Services?

I would like to know the difference between Odata and Publish rest services with examples
4 answers

The Mendix documentation gives a good overview of both approaches.


My short answer is that ODATA is a standardised format, and a Published REST Service is one where you have a lot more flexibility to define how it works. 





I hope this helps.


OData is nothing more then a specific kind of a REST call. It has a documented protocol: https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html

In here you can find the specifications of this standard.

But you can use a REST call to an OData feed and get results. Just make sure that your GET call is according to the specifications.





OData is a set of standardized best practices for how to build REST APIs. OData APIs are REST APIs, so can be used by any REST client. OData standardizes a lot that is undefined by plain REST, this means that clients know how to do certain things upfront, e.g., data analytics tools know how to sort, filter, paginate the data provided by a OData REST resource.


In addition, OData REST APis also provide many of the benefits of GraphQL APIs: you can reduce the payload size by explicitely stating which fields you need, and you can include associated/nested data in a single call to reduce the number of roundtrips required to get the data needed by the client.


This page has more in depth examples how OData improves upon REST: https://docs.mendix.com/refguide/build-odata-apis/


This is exactly the type of question (or prompt) that you can use for ChatGPT or co-pilot


Certainly! Let’s delve into the differences between OData and REST services, along with some examples.


Understanding the Concept of REST APIs

REST (REpresentational State Transfer) is an architectural style that defines standards for exchanging information between different systems via the HTTP protocol. It is widely used for data exchange on the World Wide Web. Here are the key principles of REST:

  1. Uniform Interface: All components in a REST system adhere to the same interface and rules, enabling seamless communication.
  2. Client-Server Separation: REST separates servers (which store information) from clients (which retrieve information).
  3. Statelessness: REST requests are stateless; they contain all necessary information for the server to execute the request.
  4. Cacheability: Both clients and servers can cache resources, improving performance.
  5. Layered System: REST supports a layered architecture, allowing clients to communicate with one server while other servers handle tasks like data storage and authentication.
  6. Code on Demand: REST requests may optionally return executable code or logic.

Any API that follows these principles is referred to as a REST APIWhile REST APIs often use XML or JSON for data exchange, the REST architecture itself doesn’t mandate any specific format1.


Understanding the Concept of OData

OData (Open Data Protocol) is a set of best practices for developing and using RESTful APIs. Here are some key points about OData:

OData vs. REST APIs: What’s the Difference?

  1. Function:

  2. Principles:

  3. Best Use Case:

  4. Data Transfer Format:


In summary, OData is a more specific version of REST, providing additional guidelines and rules for communication. While REST is flexible and widely applicable, OData aims to standardize the way RESTful APIs interact3.


Remember, both OData and REST serve as powerful tools for integrating and exchanging data between different software systems!