MVC RESTful由设计

MVC必须是RESTful吗?

有没有办法使用MVC模式来制作SOAP服务?

输入请求是否会首先进入View ,然后进入Controller然后是Model例如:

Request -> View -> Controller -> Model

但是这样做,这不再是MVC模式。 (这是对的不是吗?)

我们还会如何使用SOAP获得类型化的响应,但仍然坚持(或接近) MVC模式。 相反,MVVM会更适合这种情况吗?


REST描述了如何与应用程序交互,而MVC则是如何实现应用程序。 使用MVC实现的应用程序可以是RESTful或不是。

SOAP是与应用程序接口的协议,可以使用MVC实现。

在MVC中,请求会进入控制器,为视图创建一个模型。

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

请求被路由到您的控制器上的一个动作,该动作使用一个模型(您定义的模型;它仅仅是一个表示您的动作和视图将运行的数据的结构)。 这个动作返回一个ActionResult ,它通常但不一定是ViewResult (它本质上只是执行你指定的视图页面,使用你指定的模型,如果有的话)。 但是,您不必返回视图; 你可以创建任何你想要的ActionResult。 你可以返回XML,JSON,SOAP,二进制内容等等。

MVC本质上是宁静的,但它并不严格遵守REST,并且可以根据您认为合适的方式进行定制。 你可以让你的控制器讲SOAP,但是我的问题是你为什么会在其他技术(如WCF)中为你做这项工作?


HTTP被设计为RESTful。 关于什么是REST的详细讨论在这里。 MVC对于RESTful与否没有限制。 ASP.Net MVC支持REST风格的Web开发。 你可以让你的网站RESTful或不,这是你的选择。 SOAP是协议。 在.Net中最好使用WCF来处理SOAP。 WCF服务可以与您的ASP.Net MVC应用程序一起部署。 但是我们没有在WCF内部实现MVC。 一般来说,我们根本没有Web / WCF服务中的UI部分。

链接地址: http://www.djcxy.com/p/12329.html

上一篇: Is MVC RESTful by design

下一篇: having trouble understanding them