Why I Use WEB API in my Project Or What is the Need of Web API

With the following points I will try to resolve the confusion between choosing the Web API and other services like web services, WCF and WCF REST.
Suppose there is one situation in which you need to display your app project data, not only in a browser, but in mobile, iPhone, tablets devices and so on for a broad reach of all clients. In other words, your project must be compatible with all these devices.



Then what will you use?

  • Will I use a web service for this? No.

    The reason for not using:
       - Supports only XML, if I need any other format then there will be an issue
       - Very complicated to use
       - Will take lots of RAM
       - Uses complicated SOAP
       - I don't need SOAP since SOAP will only support a post request, in my project I also need a get request
       - I can host it only on IIS



  • Will I use WCF for this? No.

      Reason
    for not using:
       - Very complicated configuration
       - Uses complicated SOAP
       - I don't need SOAP


  • Will I use WCF REST for this ? No.

      Reason
    for not using:
       - Supports only JSON, XML and atom formats (atom is use for web feeds).
       - This may work for my requirements, but it is also very complicated since I need to do lots of configuration in my project and on IIS also.


  • Will I use Web API?
    Yes, I will use the Web API.

      Reason
    for using the Web API:
       - Supports JSON, plain XML or any format that HTTP supports using content negotiation and media type formatter
       - It is very simple to use
       - No need to describe your data, if you want you can provide PDF format
       - Supports HTTP full functionality
       - It also supports MVC features such as applying filters before or after executing an action just like MVC can
       - Due to the HTTP service it can be broadly reached by all clients.

  • The Web API is created with HTTP functionality in mind, since using this HTTP protocol, anything is broadly accessible (anything means like any image or any HTML static page and so on).

  • Now a days, users are not limited to browsers only, they want to use their app in mobile, Android, tablets and so on. So the Web API is a good fit for this.

  • The Web API automatically gains all the power of HTTP.

  • Gaining all the power of HTTP means, gaining its caching, gaining its all action method like, get, post, put and delete and so on.

  • The Web API structure is similar to MVC, so if my project is in MVC then it will be a good choice for me to create a HTTP service in the Web API.



  • The preceding figure explains that let's say, my project is in MVC and it uses the Web API that has the power of HTTP and due to that power it can easily communicate with different browsers, iPhone, Android, Laptop and so on.


Similar Articles