I have heard a few people make the comment that the default controller/provider for Entity Framework data in the new ASP.NET WebAPI (DbDataController) is not, strictly speaking, a REST based service, but more like an RPC-style service. I understand that the WebAPI framework allows you to make any kind of HTTP service, REST or otherwise, but can someone explain to me specifically what it is about the service exposed by a DbDataController that makes it not a true REST service?
I have heard a few people make the comment that the default controller/provider for
Share
The REST architectural style describes the following six constraints applied to the architecture, while leaving the implementation of the individual components free to design:
Client–server
Stateless
Cacheable
Layered system
Code on demand (optional)
Uniform interface
http://en.wikipedia.org/wiki/Representational_state_transfer#Constraints
“The only optional constraint of REST architecture is code on demand. If a service violates any other constraint, it cannot strictly be considered RESTful. DbDataController class exposes Entity Framework models as HTTP services. These services have a great feature overlap with WCF Data Services, such as CRUD support, metadata and request batching. They even partially mimic OData’s query string format.But these services follow the RPC style they’re not RESTful and they don’t use OData.” A qoute from this site:
WCF Data Services and ASP.NET Web API