gpt4 book ai didi

rest - RESTful 调用应如何返回失败消息?

转载 作者:塔克拉玛干 更新时间:2023-11-01 19:07:29 25 4
gpt4 key购买 nike

假设RESTful调用需要表明请求已被成功接受,但内容信息与现有数据冲突。

例如,尝试插入一个新用户,响应需要告诉用户存在,我正在寻找一种在 RESTful 中执行此操作的正确方法。我的第一个选择是使用返回代码作为 200 状态,但内容说请求返回失败及其描述。

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
.
.

{"status":"failure", "message":"User exists already"}

另一种选择是将 HTTP 响应代码更改为 200 状态以外的其他内容,并且仅在 JSON 对象中注入(inject)描述。

HTTP/1.1 409 Conflict
Content-Type: application/json; charset=utf-8
.
.

{"message":"User exists already"}

为了概括这个问题,RESTful 应该是面向 JSON 内容还是面向 HTTP 状态码来进行异常处理?

最佳答案

对于 REST,您必须始终在响应中利用状态代码来指示发生了什么。成功响应(状态代码 2xx3xx)或错误响应(4xx5xx)就是这种情况。此外,在错误的情况下,如果特定状态代码过于通用(例如,状态代码为 400422 的特定内容字段上的数据验证),您可以返回额外的提示以在响应有效负载中提供更多提示。后者的结构取决于您...您在第二个代码段中使用的内容非常完美;-)

此链接(“错误处理”部分)可以在此级别为您提供更多提示:https://templth.wordpress.com/2014/12/15/designing-a-web-api/ .

希望对你有帮助,蒂埃里

关于rest - RESTful 调用应如何返回失败消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29196678/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com