0
/controller/action/id

或者

/controller/id/action

哪个更常见?哪个更可取,为什么?

使用其中一种是否有任何优点/缺点?


编辑:

或者,也许换一种方式来思考这个问题,为什么大多数 MVC 框架(ASP.Net MVC、Grails、Spring MVC)都默认使用/controller/action/idURL 模式?这有什么好处吗?

4

3 回答 3

2

这些都不是 RESTful 的。URL 中不应有动词/动作。这些仅限于 HTTP 方法是有充分理由的(以便客户端可以与您的服务交互而无需了解任何具体信息)。

如果除了 GET 和 POST 之外什么都做不了,使用POST发送action参数到/controller/id

于 2012-11-16T15:51:42.507 回答
0

Asp.Net MVC 使用/controller/action/id. 所以这是你在那个环境中最常看到的。我没有看到任何技术优势,但简单地使用通用模式可以让事情更容易理解。

于 2011-12-09T17:24:19.080 回答
0

我绝对喜欢/controller/action/id。这对我来说更像是识别资源(名词)而不是识别对该名词(动词)的动作。

除了资源的确切 URL 之外,您还需要考虑如何映射 HTTP 动词。根据我的经验,我们根据与动词结合时最有意义的内容来调整 URL。也就是说,为了方便起见,我们还有几个地方打破了规范方法(例如,使用 GET 公开某个删除操作,以便用户可以通过浏览器执行该操作)。

另请查看此讨论以获取更多信息。 REST URL 结构建议

于 2011-12-09T17:34:07.403 回答