我正在为 Web 服务实现用户注册。
当有人想注册一个帐户时,我的 WS 会向他/她的邮件发送一个激活链接。在单击此链接之前,不会激活用户帐户(但信息会保存在数据库中,因此资源存在)。
所以我的问题是,如果你尝试多次注册同一个邮件,你会得到一个 409 CONFLICT 代码。但是那里有两种情况:
- 待确认的用户帐户
- 用户已注册并激活
我想知道什么是正确的方法。我应该“发明”一个 HTTP 状态 4XX 来区分它们,还是用带有信息的 JSON 发送 409?其他解决方案?
谢谢!
编辑:
我找到了这个响应-> https://stackoverflow.com/a/3290369/1171280,其中 Piskvor 建议使用 409 状态和请求标头来解释它失败的原因和/或正文。哪一个?标题?身体?两个都?
你怎么看?
编辑2:
带有详细错误的 HTTP 状态 + 正文(甚至带有机器可解析代码)是可以的,Twitter 可以做到这一点(https://dev.twitter.com/docs/error-codes-responses)和 RESPECT :) 。但我仍然怀疑 403 vs 409 ......:S