【发布时间】:2015-02-20 06:12:59
【问题描述】:
到目前为止,我需要公开一个需要 4 个参数的 rest api。我有两个选择:
1) GET request with 4 query params
2) POST request with an Object passed that encapsulates 4 parameters.
如果我使用case 1),那么如果将来需要发送更多参数从而使 URL 变得冗长,因为查询参数将增加。如果我使用case 2),则将违反休息准则,因为 POST 仅用于创建/更新。
请告诉我在这种情况下什么是最好的方法。
【问题讨论】:
-
为什么要查询参数而不是说路径参数?基本上你只是通过比较参数计数而不理解它的语义就违反了get/post。
-
我需要传递的参数实际上是为了过滤,这就是为什么查询参数而不是路径参数,
-
资源是什么?检查您是否尝试通过 REST 实现 RPC。
-
我对REST没有太多经验,但我认为你的数字就像一个门槛。如果有 3 个,我会说 GET。如果有 5 个,我会说 POST。我相信如果你已经有很长的路,这很重要。例如,如果基本 URL 是
http://localhost:<port>/<module>/<category>/<pathFromclass>/<pathFromMethod>,则 4 个参数使其过长。在这种情况下,请使用 POST。
标签: java rest post get jersey-2.0