Сравнительное сравнение Web-сервисов WebAPI и MVC

Мне сказали разработать 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.

Ответ 1

http://encosia.com/asp-net-web-api-vs-asp-net-mvc-apis/

API ASP.NET Web API и ASP.NET MVC "API" Дэйв Уорд - Спасибо Ant P

Красивый краткий обзор:

  • Консолидация контента
  • Гибкость
  • Разделение проблем

Ответ 2

MVC оптимизирован для использования веб-браузера в качестве клиента. Веб-API более способен поддерживать множество разных клиентов. Если ваш единственный клиент является веб-браузером, то MVC, вероятно, будет лучшим выбором.

Ответ 3

В вашем методе $.Ajax нет никакой разницы. На вашей веб-странице не должно волноваться, как сервер ajax реализует себя, хотя он должен знать, поддерживает ли он такие вещи, как oData, а что нет.

На стороне сервера существует много различий между ними. Конечно, вы можете создавать обработчики Ajax в MVC, но WebAPI предоставляет вам больше инструментов и больше возможностей.