为什么使用选择器而不是新的URI?

时间:2015-03-05 20:42:49

标签: rest spring-mvc restful-url clean-urls

我有一个疑问,我有一个URI,它将从另一个休息服务中为我带来所有用户的帐户。例如:

GET /users/21212/account

现在我需要携带3种不同的用户帐户组,例如:“低帐户”,“中帐户”和“高帐户”。

但是讨论是,我应该如何在我的端点上启用它?

GET /users/21212/accounts/low-account
GET /users/21212/accounts/medium-account
GET /users/21212/accounts/high-account

GET /users/21212/accounts/1?selector=low-account
GET /users/21212/accounts/1?selector=medium-account
GET /users/21212/accounts/1?selector=high-account

我倾向于遵循第一种方法,我认为更直观,代码的可编程性将很容易保留......您认为概念正确/更好,为什么?

1 个答案:

答案 0 :(得分:0)

我会选择以下选项:

GET /users/12345/accounts?group=low-account

它将返回属于用户12345的“低帐户”组的所有帐户。

如果它们表示类似过滤的东西,我倾向于使用查询参数。另外我建议你看看HATEOAS原则。然后,您将更灵活地使用URI。