ASP.NET Web API is a framework for building HTTP services that can be consumed by a broad range of clients including browsers, mobiles, iphone and tablets. It is very similar to ASP.NET MVC since it contains the MVC features such as routing, controllers, action results, filter, model binders, IOC container or dependency injection.
ASP.NET Web API is an extension of WCF REST API. In short, it is an replacement of WCF REST API. It can be used with ASP.NET MVC and other types of Web applications like ASP.NET WebForms. Also, Web API can be used as an stand-alone Web services application.
Why ASP.NET Web API (Web API)?
Today, a web-based application is not enough to reach it's customers. People are very smart, they are using iphone, mobile, tablets etc. devices in its daily life. These devices also have a lot of apps for making the life easy. Actually, we are moving from the web towards apps world.
So, if you like to expose your service data to the browsers and as well as all these modern devices apps in fast and simple way, you should have an API which is compatible with browsers and all these devices.
For example twitter,facebook and Google API for the web application and phone apps.
Web API is the great framework for exposing your data and service to different-different devices. Moreover Web API is open source an ideal platform for building REST-ful services over the .NET Framework. Unlike WCF Rest service, it use the full featues 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
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.
Supports multiple text formats like XML, JSON etc. or you can use your custom MediaTypeFormatter.
May accepts and generates the content which may not be object oriented like images, PDF files etc.
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.
Supports Self-hosting or IIS Hosting.
Supports the ASP.NET MVC features such as routing, controllers, action results, filter, model binders, IOC container or dependency injection.
Web API Version History
The following versions of ASP.NET Web API are released:
Web API 1.0
.NET Framework 4.0
ASP.NET MVC 4
Web API 2.0
.NET Framework 4.5
ASP.NET MVC 5
VS 2012, 2013
Why to choose Web API?
If you need a Web Service and don’t need SOAP, then ASP.NET Web API is best choice.
Used to build simple, non-SOAP-based HTTP Services on top of existing WCF message pipeline.
Easy configuration unlike WCF REST service.
Simple service creation with Web API. With WCF REST Services, service creation is difficult.
Based on HTTP and so easy to define, expose and consume in a REST-ful way.
Based on light weight RESTful architecture and good for devices which have limited bandwidth like smart phones.
What do you think?
I hope you have enjoyed the article and would able to have a clear picture about Web API. I would like to have feedback from my blog readers. Your valuable feedback, question, or comments about this article are always welcome.