Является ли MVC RESTful по дизайну

должен ли MVC быть спокойным?

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

будет ли запрос ввода фактически идти в View и затем в Controller тут Model например:

Request -> View -> Controller -> Model

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

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

3 ответов


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

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

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

Request -> [Controller] -> Model -> [View] -> Response

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

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


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