Web API is the great framework for exposing your data and service to different-different devices. It is open source an ideal platform for building REST-ful services over the .NET Framework. Unlike WCF Rest service, it use the full features of HTTP (like URIs, request/response headers, caching, versioning, various content formats) and you don’t need to define any extra config settings for different devices unlike WCF Rest service.
Web API Features
- It supports convention-based CRUD Actions since it works with HTTP verbs GET, POST, PUT and DELETE.
- Responses have an Accept header and HTTP status code.
- Responses are formatted by Web API’s MediaTypeFormatter into JSON, XML or whatever format you want to add as a MediaTypeFormatter.
- It may accepts and generates the content which may not be object oriented like images, PDF files etc.
- It has automatic support for OData. Hence by placing the new [Queryable] attribute on a controller method that returns IQueryable, clients can use the method for OData query composition.
- It can be hosted with in the application or on IIS.
- It also supports the MVC features such as routing, controllers, action results, filter, model binders, IOC container or dependency injection that makes it more simple and robust.
Why to choose Web API ?
- If we need a Web Service and don’t need SOAP, then ASP.Net Web API is best choice.
- It is Used to build simple, non-SOAP-based HTTP Services on top of existing WCF message pipeline.
- It doesn’t have tedious and extensive configuration like WCF REST service.
- Simple service creation with Web API. With WCF REST Services, service creation is difficult.
- It is only based on HTTP and easy to define, expose and consume in a REST-ful way.
- It is light weight architecture and good for devices which have limited bandwidth like smart phones.
- It is open source.