WebApi2:路由与查询字符串

WebApi2: routing vs. query string

我的印象是 REST 应该使用路由,就像这样:

http://server/api/accounts/2

而不是像这样:

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

我见过很多使用查询字符串的示例,但我希望人们会说这是错误的。然而,事实似乎并非如此。

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

路径参数用于标识一个或多个特定资源。
查询参数用于sort/filter那些资源。

最好将所有必需参数设为 path 参数,并将所有可选参数设为 query 参数。

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