【发布时间】:2012-06-12 15:14:50
【问题描述】:
我想知道我应该如何在我的 REST API 中响应。
有效示例:
http://blah.com/api/v1/dosomething/123
以上是一个有效的请求,目前我的 HTTP 状态为 200,带有 JSON 响应
{
"dosomething": {
"status": "OK",
"results": "123"
}
}
现在我的问题是,如果传递的参数无效(我期待一串整数),我是返回 200 的 HTTP 响应并在 JSON 响应中传递错误状态还是应该传递一些东西像 HTTP 400 响应(错误请求)并在 JSON 响应中列出请求的错误/问题?
错误示例:
http://blah.com/api/v1/dosomething/123a
JSON 响应:
{
"dosomething": {
"status": "ERROR",
"errors": [
"Value passed: |123a| must be a integer."
]
}
}
我的问题是我应该在传递的参数不是我期望的请求上传递 200 还是 400 HTTP 状态?还是应该在请求有效时始终是 200 响应?
什么是最佳实践?
【问题讨论】:
标签: json http rest http-status-codes