使用MVC2作为RESTful服务决定URL路径

时间:2010-11-16 01:03:18

标签: asp.net-mvc asp.net-mvc-2 asp.net-mvc-routing

我正在创建一个应用程序,其中客户端功能调用各种服务来返回结果/内容等。目前,我有3个控制器,其操作正常。我要决定的是如何管理列表内容,即在2个实例中,下面列出了下拉数据的JSON列表:

在一个页面中,会有一个需要调用例如列表的下拉列表。汽车制造。一旦选择了一个make,另一个调用然后返回另外两个例如。汽车产品等。在另一个页面中,只有一个调用可以返回两个产品阵列。共同的主题是它本质上是列表管理。

目前,我将控制器设置为: ExistingMember 切换器 NewMember

Switcher需要一个CarMakes列表,然后关联调用以获取产品。 ExistingMember需要一个产品列表。

设置Controller / Action / id的最佳方法是什么?

我玩弄了各种选择:

  • /切换器/ CarMakes
  • /切换器/ CarProducts / 7
  • / ExistingMember /产品

为简洁起见修改路线:

  • / {控制器} /列表/ {动作} / {ID}
  • /切换器/列表/ CarMakes
  • /切换器/列表/ CarProducts / 7

或转移到专用列表控制器

  • /列表/ CarMakes
  • /列表/ CarProducts / 7
  • /列表/产品

2 个答案:

答案 0 :(得分:2)

如何定义路线和整体控制器架构是非常主观的,但我通常会对这样的问题给出相同的建议:

对您和您的团队做有意义的事情。

答案 1 :(得分:0)

路由是为数据库驱动的站点请求页面的愚蠢方式。 HTTP的先驱们正在思考一个简单世界中的静态资源。查询字符串更适合数据库应用程序的可靠性和灵活性。查询字符串的唯一缺点是搜索引擎优化,但这是搜索引擎应该修复的东西,而不是世界上所有的网站。