MVC RESTful по дизайну - PullRequest
       2

MVC RESTful по дизайну

6 голосов
/ 14 февраля 2012

Должен ли MVC быть RESTful?

Есть ли способ сделать SOAP сервис с использованием шаблона MVC?

Будет ли входной запрос сначала идти в View, а затем в Controller, а затем Model, например:

Request -> View -> Controller -> Model

но при этом это уже не шаблон MVC. (верно, не так ли?)

Как еще мы можем получить типизированный ответ, используя SOAP, но при этом придерживаться (или быть близко) к шаблону MVC. Будет ли MVVM более подходящим примером для этой ситуации?

Ответы [ 3 ]

23 голосов
/ 14 февраля 2012

REST описывает, как вы взаимодействуете с приложением, а MVC - как вы реализуете приложение. Приложение, реализованное с использованием MVC, может быть RESTful или нет.

SOAP - это протокол для взаимодействия с приложением, который может быть реализован с использованием MVC.

В MVC запрос поступает в контроллер, который создает модель для представления.

Request -> [Controller] -> Model -> [View] -> Response
0 голосов
/ 14 февраля 2012

HTTP был разработан, чтобы быть RESTful.Подробное обсуждение того, что такое REST, было здесь .MVC не имеет ограничений, быть RESTful или нет.ASP.Net MVC поддерживает REST-стиль веб-разработки.Вы можете сделать свой веб-сайт ОТЛИЧНЫМ или нет, это ваш выбор.SOAP - это протокол.В .Net лучше использовать WCF для работы с SOAP.Службы WCF могут быть развернуты вместе с вашим приложением ASP.Net MVC.Но у нас нет реализации MVC внутри WCF.В общем, у нас вообще нет части пользовательского интерфейса в сервисах Web / WCF.

0 голосов
/ 14 февраля 2012

Запрос направляется действию на вашем контроллере, который использует модель (которую вы определяете; это просто структура, представляющая данные, над которыми будут работать ваше действие и представление).Это действие возвращает ActionResult, который часто является, но не обязательно, ViewResult (который, по сути, просто выполняет заданную вами страницу просмотра, используя указанную вами модель, если таковая имеется).Однако вам не нужно возвращать View;Вы можете создать любой вид ActionResult, который вы хотите.Вы можете возвращать XML, JSON, SOAP, двоичное содержимое и т. Д.

MVC по своей природе успокаивающий, но он не строго привязан к REST и может быть адаптирован к тому, что вы считаете нужным.Вы могли бы заставить свой контроллер говорить на SOAP, но мой вопрос: зачем, если эта работа уже выполнена для вас в других технологиях (таких как WCF)?

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