【发布时间】:2015-03-22 16:11:29
【问题描述】:
假设RESTful调用需要表明请求已被成功接受,但内容信息与已有数据冲突。
例如,尝试插入一个新用户,并且响应需要告诉用户存在,我正在寻找一种在 RESTful 中执行此操作的正确方法。 我的第一个选项是使用返回码作为 200 状态,但内容说请求作为失败返回及其描述。
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
.
.
{"status":"failure", "message":"User exists already"}
另一种选择是将 HTTP 响应代码更改为 200 以外的状态,并且只在 JSON 对象中注入描述。
HTTP/1.1 409 Conflict
Content-Type: application/json; charset=utf-8
.
.
{"message":"User exists already"}
为了概括问题,RESTful 应该是面向 JSON 内容还是面向 HTTP 状态码以进行异常处理?
【问题讨论】: