Ответ 1
http://encosia.com/asp-net-web-api-vs-asp-net-mvc-apis/
API ASP.NET Web API и ASP.NET MVC "API" Дэйв Уорд - Спасибо Ant P
Красивый краткий обзор:
- Консолидация контента
- Гибкость
- Разделение проблем
Мне сказали разработать API для того, чтобы клиент мог манипулировать некоторыми данными. Теперь, пытаясь не отставать от Jones, я разработал это с помощью WebAPI. Я отправляю в свой Restful Webservice объект через $.Ajax
Почему это не отличается от использования того же $.Ajax для публикации стандартного контроллера MVC 4.0?
В чем преимущества?
Спасибо
====
Что касается потенциального ответа:
Примечание. Если вы работали с ASP.NET MVC, то вы уже знакомы с контроллерами. Они работают аналогично в Web API, но контроллеры в Web API получают из класса ApiController вместо класса Controller. Первое существенное различие, которое вы заметите, заключается в том, что действия над контроллерами Web API не возвращают представления, они возвращают данные.
====
Разве это не будет лишним, ведь вы всегда можете
return JSON(x);
от любого контроллера MVC.
http://encosia.com/asp-net-web-api-vs-asp-net-mvc-apis/
API ASP.NET Web API и ASP.NET MVC "API" Дэйв Уорд - Спасибо Ant P
Красивый краткий обзор:
MVC оптимизирован для использования веб-браузера в качестве клиента. Веб-API более способен поддерживать множество разных клиентов. Если ваш единственный клиент является веб-браузером, то MVC, вероятно, будет лучшим выбором.
В вашем методе $.Ajax нет никакой разницы. На вашей веб-странице не должно волноваться, как сервер ajax реализует себя, хотя он должен знать, поддерживает ли он такие вещи, как oData, а что нет.
На стороне сервера существует много различий между ними. Конечно, вы можете создавать обработчики Ajax в MVC, но WebAPI предоставляет вам больше инструментов и больше возможностей.