【发布时间】:2017-08-02 16:33:37
【问题描述】:
我开始为预订应用程序设计一个 Rest API。我过去开发了一些 Rest API,但这是我第一次单独设计它。我正在通过 JWT 使用用户身份验证。
因此,假设我想检索经过身份验证的用户的首选项。什么是最“休息”的选择?
/users/:userId/preferences并在Authorization标头中发送 JWT 以检查 userId 是否与经过身份验证的用户相同。/me/preferences并且仅发送 JWT 以获取经过身份验证的用户的首选项。
由于面向资源的端点,第一个选项似乎是最“休息”的选项,但是您需要将 userId 存储在客户端中,然后使用 JWT 将其发送到 API。看起来有点重复吧?
我看到像 PayPal 这样的大 API 使用第二个选项,而像 AirBnB 这样的其他 API 使用第一个散列 userId。
哪个选项更好,为什么?我对此很怀疑...谢谢。
【问题讨论】:
标签: rest api jwt api-design restful-url