在MVC应用程序中强制执行restful路由有什么好处?

时间:2009-05-20 21:40:33

标签: asp.net-mvc ajax rest

我一直在使用MvcContrib附加功能附带的SimplyRestfulRouting程序集,而且我很喜欢它很快就设置了我的路线并让我在控制器中遵循一个很好的惯例。但是,我仍然试图围绕REST,因为它适用于丰富的互联网应用程序,当我需要做一些超出8或9个默认路由范围的事情时,偶尔会感觉到鸽子。 [编辑:通过“pigeon holed”,我只是意味着当我必须创建一个超出默认“restful routes”定义的控制器操作时,我觉得我正在弄脏应用程序。]

我听到一个REST支持者的评论,他在其中表达了他的观点,即MVC框架本质上是RESTful,它让我更多地思考像MvcContrib SimplyRestfulRouting这样的库实际上是在买我。

没有阅读很多关于REST的具体原则,我正在寻找关于在数据形式RIA中强制执行这样的事情会带来什么好处的输入。关于AJAX,RESTful架构如何影响我的客户端交互?

我很可能在这种情况下误解了REST的使用,并且会欣赏一些StackOverflow mojo让我直截了当。

3 个答案:

答案 0 :(得分:2)

我在执行RESTful路由时可以看到的主要好处 - 无论使用何种框架 - 都是一致性。您将始终能够了解API如何适用于任何资源,这实际上将为您提供自我记录的API。

在构建应用程序时,它还提供了一个很好的约束。而不是让API具有可能非常快速复杂的空白平板,将路由限制为基础将为您提供有关您需要创建哪些资源的指导。

有关REST的更多基本原则,我建议您阅读此thread

答案 1 :(得分:1)

RESTful不仅仅是拥有干净的URL。

在架构层面,REST是关于根据资源组织应用程序功能,并在其上公开固定且统一的CRUD操作集(例如HTTP POST) / GET / PUT / DELETE方法)。这称为Resource Oriented Architecture

相反,对于Service Oriented Architecture,您通常会根据流程或组件组织应用程序功能,并在其上公开非统一的,特定于应用程序的方法(例如,通过SOAP)。

注意,您可以拥有干净的URL,但最终仍然遵循非RESTful SOA设计原则。

更新:抱歉,没有真正回答这个问题,因为使用了“RESTful”术语而挂了。如果您只是谈论干净URL的好处(除了REST / SOA论点),典型的论点是更好的SEO优化和用户友好性(用户可以更好地理解和修改URL)。

答案 2 :(得分:1)

优点是,如果你有一些地址,并且从那个地址获得了一些东西,那么你可以从你想要的代码中调用那个地址,你会得到完全相同的东西:)

并且在具体示例中,如果您的路由可以返回一些完整的数据(例如用户控件),那么您可以从ajax,桌面应用程序甚至Web服务中调用它...它是非常强大,因为你将在你的应用程序上重复一些功能...并且因为你从这个宁静的服务获得的一些html只给你一个视图只有一个功能,你可以从对话框或页面或桌面动态调用它申请或从任何地方...... 当你添加这个,你可以用参数调用这个地址,就像某种方法一样,你现在可以看到它在创建动态页面和网站/系统方面有多强大

希望这会有所帮助

相关问题