HATEOAS - REST不是真正的REST

时间:2017-10-15 11:48:46

标签: rest hateoas

当REST API不遵循HATEOAS样式时,通常会将您的REST称为真正的REST。

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

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

2 个答案:

答案 0 :(得分:4)

很少有REST支持者认为REST应该适用于所有内容。我是REST的主要支持者,但是在不同的情况下,不使用HATEOAS是最务实的举措。你的例子就是其中之一。

但是,如果你想以RESTful方式完成这项工作,那么它仍然是可能的。

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

/users/xyz/auth-tokens

也许您可以通过创建新的'身份验证令来启动丢失密码的电子邮件操作。使用POST的该集合中的资源。

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

答案 1 :(得分:-1)

创建PasswordReset资源非常简单。

POST /password-resets

RPC思想的人很难切换到REST,因为他们习惯于做RPC。 :)

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