Что лучше для создания API для моего веб-сайта: службы данных MVC или Ado.net?

У меня есть веб-сайт, созданный с помощью MVC, и теперь я хочу создать API для этого веб-сайта, чтобы пользователи могли использовать этот API для реализации различных веб-сайтов, веб-сервисов, плагинов и расширений браузера.

Я прошел через это статья, но пока не нашел, что использовать.

Общая информация об API, который я хочу создать:
Пользователь API будет иметь ключевое имя пользователя и пароль, чтобы иметь возможность использовать API.
API позволит пользователям добавлять контент в мою БД после проверки этих данных. .
API позволит пользователям загружать изображения на мой сервер.
API должен иметь понятные URL-адреса.

Какая технология подойдет в моем случае?

Также поможет мне решить, какая технология стоит за API stackoverflow?


person Amr Elgarhy    schedule 03.07.2011    source источник
comment
если у вас уже есть веб-сайт, созданный в ASP.NET MVC, шаг к данным OData и WCF Службы (то, что вы называете службами данных ADO.NET) несут ужасные накладные расходы, если вы специально не хотите нацеливаться на OData и/или использовать преимущества других особенностей служб данных WCF. Добавление слоя RESTful API в MVC тривиально.   -  person bzlm    schedule 04.07.2011
comment
+1 к комментарию выше, полностью согласен.   -  person RPM1984    schedule 04.07.2011
comment
Хорошо, а как насчет stackoverflow.com, это mvc, вы знаете, на чем построен его API?   -  person Amr Elgarhy    schedule 04.07.2011


Ответы (3)


Попробуйте веб-API WCF. В нем есть все самое интересное для создания хорошего API RESTFul, и он удовлетворяет всем вашим требованиям.

  • Вы будете использовать базовую или пользовательскую http-авторизацию, вот так просто.
  • Вы предоставите очень простые URL-адреса для создания данных, проверки и возврата ответа, тривиально.
  • RESTFul означает дружественный URL-адрес -s.

Общая идея заключается в том, что эта библиотека дает вам широкие возможности манипулирования с самого начала запроса до его ответа. Это основной HTTP API для .NET Framework и WCF, и он продолжает свое развитие.

person archil    schedule 04.07.2011
comment
Согласно часто задаваемым вопросам, его пока нельзя использовать в производственных средах. - person muratgu; 27.09.2011

Рассматривали ли вы вместо этого использование OpenRasta?

Его чистый, ReSTful-подход идеально подходит для разработки веб-API в .NET.

person Ian Nelson    schedule 27.09.2011

Если у вас нет очень веских причин для использования WCF, почему бы просто не предоставить свои данные через сайт ASP.NET MVC. Вы можете легко вернуть JSON или любой другой формат данных, отличный от HTML, который соответствует вашим потребностям, из ASP.NET MVC.

В зависимости от того, насколько похожим должен быть интерфейс между вашим веб-сайтом и вашим API, вы можете использовать существующие контроллеры/действия или создавать новые. Теоретически, если HTTP-запрос указывает «application/json», вы можете просто вернуть JSON в эти запросы и сделать это... но на практике вам, вероятно, потребуется настроить конечные точки (контроллеры/действия), чтобы сделать их дружественными к вашему новому потребитель (другие разработчики, ориентирующиеся на ваш API)

WCF очень хорош и многофункционален, но не все знакомы с ним. Вы можете понести кривую обучения, чтобы хорошо понять это. Опять же, если для этого есть очень веская причина, то оно того стоит, но из того, что вы описываете, вы, вероятно, будете так же хороши с простым ASP.NET MVC.

person Hector Correa    schedule 26.09.2011