Каков наилучший способ реализации API в ASP.NET с использованием MVC? - PullRequest
6 голосов
/ 25 сентября 2008

Я давно являюсь разработчиком ASP.NET для модели веб-форм и использую новый проект как возможность промокнуть от ASP.NET MVC.

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

Как примечание, я немного не решаюсь погрузиться с головой в стиль REST создания API, по крайней мере, для этого конкретного экземпляра. Это приложение, скорее всего, нуждается в концепции управления версиями API, и я думаю, что подход REST, в котором API в основном разбросан по всем контроллерам сайта, в этом отношении немного громоздок. (Но я не полностью против этого, если есть хороший ответ на потенциальное требование к версионированию.)

Итак, что вы скажете, обитатели переполнения стека?

Ответы [ 2 ]

7 голосов
/ 25 сентября 2008

Я бы согласился с Килхоффером. Попробуйте использовать класс-оболочку «Фасад», который наследуется от «IFacade». В вашем классе Facade поместите код для использования вашего веб-сервиса. Таким образом, ваши контроллеры будут просто звонить на Фасад. Плюсом этого является то, что вы можете поменять местами «DummyFacade», который реализует тот же интерфейс IFacade, который фактически не взаимодействует с веб-службой, а просто возвращает статический контент. Позволяет вам на самом деле провести модульное тестирование, не обращаясь к сервису. В основном та же идея, что и в шаблоне репозитория.

2 голосов
/ 25 сентября 2008

Я бы по-прежнему рекомендовал уровень обслуживания, который может обслуживать потребителей на стороне клиента или на стороне сервера. Возможно даже возвращать данные в различных форматах, в зависимости от вызывающего абонента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...