首页 > 解决方案 > WebApi2:路由与查询字符串

问题描述

我的印象是 REST 应该使用路由,如下所示:

http://server/api/accounts/2

而不是这样的:

http://server/api/accounts?id=2

我已经看到很多使用查询字符串的示例,但我预计人们会说这是错误的。然而,情况似乎并非如此。

对于 [HTTPGET],我应该更喜欢其中一个吗?

标签: c#.netrestwebapi2

解决方案


路径参数用于标识特定资源或资源。
查询参数用于对这些资源进行排序/过滤。

将所有必需参数作为路径参数,将所有可选参数作为查询参数是一个很好的做法。

在您的情况下,如果您的:id参数唯一标识一个帐户,则这应该是一个路径参数,即:/api/accounts/:id


推荐阅读