我有一个也有API的Rails应用程序。我一直在尝试关注整个结构的http://jsonapi.org,但是在没有任何数据的情况下,我找不到任何关于结果的指导。例如,我有一个如下所示的端点:
https://[root]/api/apps/34/localized_strings?from_date=1330776000
其中from_date
是一个unix时间戳,如果服务器有基于此日期值的更新或更新数据,则返回所有数据,没有更新我想要返回没有数据。我想知道这样做的最佳方法是什么。目前的结果如下:
{
"data": []
}
基于http://jsonapi.org更好或更传统的是,在没有变化或数据的情况下,返回“状态”状态:204
?
答案 0 :(得分:2)
只需返回head :no_content
,因此rails将返回204状态代码,内容为空
以下是销毁
的示例def destroy
# Destroy stuff
# Return 204, no content
head :no_content
end
答案 1 :(得分:0)
According to the specification,表示空集合的响应将是:
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
{
"links": {
"self": "http://example.com/articles"
},
"data": []
}
服务器必须响应成功请求,以获取具有资源对象的单个资源,或者null
作为响应文档的主要数据提供。
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
{
"links": {
"self": "http://example.com/articles/1/author"
},
"data": null
}