RESTful URL 检查唯一的用户名和电子邮件地址

RESTful URL to check unique username and email address

在注册过程中,我要求输入用户名、电子邮件和密码。我正在通过以下端点检查用户名和电子邮件是否唯一

HEAD /auth/:email
HEAD /users/:username

电子邮件和用户名的唯一性分为身份验证和用户资源,因为我想在登录时我要求电子邮件,所以它应该在身份验证中并检查用户名是否唯一可以进入用户。

登录发生在以下端点

POST /auth/login

在以下端点创建了一个新用户

POST /users

这是无状态的 API,我想知道我的路线是否看起来 RESTful?

I am wondering if my routes look RESTful?

REST 不关心您对资源标识符使用什么拼写约定,只要它们符合 RFC 3986 中描述的生产规则。

参见,例如:Tilkov 2014

相反,您应该选择您的标识符拼写约定以使您的人类更容易:哪些拼写易于记录?访问日志中哪些拼写容易识别?等等。


可能使用一个同时报告电子邮件地址和用户名状态的单一资源,而不是使用两个不同的报告来做到这一点。

同样,使用HEAD请求有点奇怪;您显然在 transfer of documents over a network 域中使用元数据来传达您的业务语义,其中 (a) 是文档的用途,(b) 是“意外复杂性”的一个示例——我不会说得太远至于保证未来会出现问题,但你肯定会邀请他们,目前的收益是否超过风险并不明显。