Difference between Web Services and Web APIs:
|Controller||WEB API Controller|
The Web API helps the creation of RESTful services over the .Net Framework but the MVC does not support.
Use Controller to render your normal views.
We can use the MVC for developing the Web application that replies as both data and views
ApiController action only return data that is serialized and sent to the client.
Web API is used for generating the HTTP services that replies only as data.
|ReturnType||MVC returns the data in the JSON format by using JSONResult.||
.Web API controllers do not return views, they return data.
The Web API returns the data in various formats, such as JSON, XML and other format based on the accept header of the request.
|When to use||if you're writing an HTML based web/internet/intranet application - maybe with the occasional AJAX call returning JSON here and there - stick with MVC/Controller.||If you want to provide a data-driven/REST-ful interface to a system, go with WebAPI.|
|content negotiation, self-hosting||content negotiation, self-hosting are not supported by the MVC.||
The Web API supports content negotiation, self hosting.