2012-03-07 2 views
0

это, вероятно, глупо, но я только начинаю с MVC, так как asp .net web api выглядит действительно интересно.MVC 4 web api + application в 1 решении

Простое мышление может быть «веб-апи» также служить в качестве внешнего интернет-приложения? Я предполагаю, что ответ «нет», но он может сэкономить много времени, чтобы каким-то образом получить API, работающий с интерфейсом, в том же месте, что другой вариант - создать 1 проект для API, а другой для внешний интерфейс?

+0

Вы имеете в виду создание api в качестве бэкэнд, а затем ваш передний конец вызывает api? Так что технически ваш интерфейс может быть javascript или даже окна или что-то еще. Звучит разумно, исходя из ** необходимости **. – gideon

+0

Да, в основном, это то, что я имею в виду, но есть ли способ сделать все это в умном стиле MVC? Еще больше - «можно ли это сделать из одного проекта»? Разве это разумно, это другое дело, возможно ли это? – hyp

+0

думаю. Я имею в виду, что даже сейчас вы можете заставить контроллер возвращать 'json' или' xml' и использовать его в пользовательском интерфейсе в том же проекте. Поэтому ваш 'ApiController' должен вести себя не иначе. О _a умный mvc way_ Я не уверен. – gideon

ответ

0

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

Например, ваше приложение имеет вид под названием «Гаджеты». За кулисами вид действительно вызывает http://myapplication.com/gadgets/1, чтобы получить первую страницу доступных гаджетов, а затем прокручивает их, чтобы отобразить данные в формате html в браузере. В действительности, поскольку http://myapplication.com/gadgets/1 всегда должен возвращать первую страницу гаджетов, вы можете сказать в своей документации API, что вызов http://myapplication.com/gadgets/1 возвращает первую страницу гаджетов. Если я являюсь вызывающим приложением, то все, что я должен сделать, это вызвать этот URL-адрес и проанализировать результат для отображения.

Это красота MVC, если вы правильно ее реализуете.

Смежные вопросы