【发布时间】:2018-05-28 01:20:35
【问题描述】:
我正处于开发一些 REST API 的十字路口,我发现没有关于这个主题的真正讨论,更不用说对任何一个的坚定辩护了。
据我了解,使用 REST,您的 URL 为 /<resource>/<action>
因此,要禁用用户,您将拥有:
PUT /user/disable
看起来很合理。但是,我们正在讨论更基本的方法:
应该是:
POST /user (creates a user *implicitly*)
POST /user/create (creates a user *explicitly*)
DELETE /user/:id
DELETE /user/:id/delete
第一个似乎被认为是“标准”,第二个显然在意图上更加清晰,并且与 /user/disable 等方法一致
也许这场辩论已经在其他地方肆虐,但我还没有看到。如果你对此持“宗教信仰”,那么现在是你自尊的机会
【问题讨论】:
-
我会说
PUT /user/12并发送disabled=1。我认为这更像是一种宗教的东西(适合论坛),而不是有一个答案的东西(适合 SO)。投票结束,认为没有建设性。 -
我建议是明确的(例如/user/create)。这是自我记录,而不需要为用户解释或反复试验。在 DELETE 情况下,删除方法是不言自明的,因此 url 不需要包含它。如果您使用 POST,则相反,POST /user/:id/delete 将是必不可少的。