Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rest 为什么使用选择器而不是新的URI?_Rest_Spring Mvc_Restful Url_Clean Urls - Fatal编程技术网

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

Rest 为什么使用选择器而不是新的URI?,rest,spring-mvc,restful-url,clean-urls,Rest,Spring Mvc,Restful Url,Clean Urls,我有一个疑问,我有一个URI,它将从另一个rest服务向我提供所有用户的帐户。例如: GET /users/21212/account 现在我需要带上3种不同的用户帐号组,比如:“低帐号”、“中帐号”和“高帐号” 但讨论的是,我应该如何在我的端点上启用此功能 GET /users/21212/accounts/low-account GET /users/21212/accounts/medium-account GET /users/21212/accounts/high-account

我有一个疑问,我有一个URI,它将从另一个rest服务向我提供所有用户的帐户。例如:

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/12345/accounts?group=low-account
它将返回属于用户12345的“低帐户”组的所有帐户


如果查询参数表示过滤之类的内容,我倾向于使用它们。我还建议你看看HATEOAS原理。这样,您的URI将更加灵活。

这样,我需要使用一组ifs来处理端点或下面任何层上的参数?您认为这比只调用uri和我的端点调用我的特定服务方法要好吗?谢谢你的回答,我将检查HATEOAS原则!假设您需要实现一个端点来按帐户类型查找帐户。然后,您将得到类似GET/users/21212/accounts/accountTypeA的内容。我看到的第一个缺点是,很容易将“按组查找帐户”和“按类型查找帐户”的操作结合起来是一个问题。第二点是,对于每一个新案例,您都必须再添加一个端点。您可能最终会维护大量这样的端点。然而,我不知道你一直在研究的领域和项目细节。HATEOAS将帮助您获得足够灵活且“可重构”的解决方案。感谢您的回答!这些账户是否相互排斥?
GET /users/12345/accounts?group=low-account