public ActionResult Summary(int claimId,bool status)
我有超链接。
1.http://localhost:2020/Coverage/Summary/60/true
2.http://localhost:2020/Coverage/Summary?claimId=60&status==true
以上链接都适用于我。
在mvc中,我认为我们需要遵循第一种方式。
此类网址的重要性是什么? 这种类型的URL是否与REST有任何关联?
答案 0 :(得分:1)
这两种URL格式都被视为REST,因为呈现视图所需的所有数据都作为参数传递给服务器。在今天的REST世界中,第一种URL格式将被视为“干净”的URL,因为它不直接使用请求参数,但实际上它们也会做同样的事情。
答案 1 :(得分:0)
在mvc中,我认为我们需要遵循第一种方式。
没必要。
此类网址的重要性
主要是视觉效果,在某些情况下,用户可能更容易记住,因为它更短。但要小心,如果你开始将所有参数作为url路径标记放入serious troubles。所以请适度使用。使用整数值可以正常工作,但是如果您开始对每个查询字符串参数使用此参数,即使用户输入的参数也可能会遇到问题。
此外,由于参数的顺序现在很重要,因为它们不再具有名称,如果它们中的一些是可选的,则路由不再能够消除它们之间的歧义。
这种类型的URL是否与REST有任何关联?
没有
答案 2 :(得分:0)
第一种方式(基于路径)只有在路径标识所显示的资源时才有意义。 That is the central principle of RESTful URLs。所以像“Id”这样的独特物品在路径上是有意义的。
但是,选项应显示为查询字符串。查询字符串包含key
和value
,这使它们具有更多含义,但不如基于路径的URL重要。
默认的MVC路由将所有“id”值放在路径中,将所有其他值放在查询字符串中。所以我通常会遵循这条路线。在您的情况下,我肯定会建议#2,因为claimId
和status
似乎无法识别Summary
。