【问题标题】:HATEOAS - REST is not truly RESTHATEOAS - REST 不是真正的 REST
【发布时间】:2018-01-06 21:12:47
【问题描述】:

当 REST API 不遵循 HATEOAS 风格时,通常会认为您的 REST 不是真正的 REST。

我们怎么能想到来自客户端的每一个可能的请求都可以映射到 CRUD 操作?

例如,如果客户端(移动端)想向用户发送一个给定电子邮件 ID 的重置密码链接,如何将其视为 CRUD?

【问题讨论】:

  • 我猜重置密码和更新密码差不多吧?

标签: rest hateoas


【解决方案1】:

很少有 REST 倡导者会争辩说 REST 应该应用于所有事物。我是 REST 的大力支持者,但在很多情况下,不使用 HATEOAS 是最务实的举措。你的例子就是其中之一。

但是,如果您想以 RESTful 方式进行这项工作,那完全有可能。

例如,丢失的密码重置链接可能需要一次性身份验证令牌。此令牌可能由集合中的资源表示,例如:

/users/xyz/auth-tokens

也许您可以通过使用POST 在该集合中创建一个新的“auth-token”资源来启动丢失密码的电子邮件操作。

你应该吗?我不知道!你能?当然!

【讨论】:

    【解决方案2】:

    创建 PasswordReset 资源非常简单。

    POST /password-resets
    

    有 RPC 意识的人很难切换到 REST,因为他们习惯于使用 RPC 来做事。 :)

    https://www.smashingmagazine.com/2016/09/understanding-rest-and-rpc-for-http-apis/

    【讨论】:

      猜你喜欢
      • 2018-09-29
      • 1970-01-01
      • 2016-06-19
      • 1970-01-01
      • 2011-11-02
      • 2014-03-07
      • 2014-08-16
      • 2013-11-09
      • 2013-10-31
      相关资源
      最近更新 更多