我知道正确使用HTTP状态代码是正确REST服务实现的良好指标。我不确定在使用无效令牌调用以下资源以确认创建新用户帐户时要返回的代码:
/ user / confirmation POST {param is confirmation token}
最佳猜测是406不可接受?但也许它是200,因为没有错误,在这种情况下,响应中包含的信息表明确认失败了?
答案 0 :(得分:8)
您可能会使用通用400
来表达错误请求,或者转到403
来表明请求被禁止。
发送正确的状态代码与证明描述问题的有效负载同样重要,并帮助客户确定错误原因。
为了报告HTTP API中的问题,我建议您查看RFC 7807:它定义了简单的JSON和XML文档格式,以通知客户端HTTP API中的问题,并定义{ {1}}和application/problem+json
媒体类型。
Michael Kropat汇总pretty useful set of diagrams以确定每种情况最合适的状态代码。有关application/problem+xml
状态代码,请参阅下图: