在REST API中返回不完整结果的正确方法?
问题描述:
我有一个REST API,它汇集来自几个不同来源的数据,进行一些格式化,并将它提供回JSON有效载荷。在REST API中返回不完整结果的正确方法?
/API /胡说/资源
[
{
"name": "resource1",
"value": 19,
"foo": "bar"
},
{
"name": "resource2",
"value": 68,
"foo": "baz"
},
{
"name": "resource3",
"value": 88,
"foo": "blee"
}
//etc...
]
然而,一些我聚集来源是不可靠的,并要求他们超时,失败,或者得不到回应间歇。
[
{
"name": "resource1",
"value": 19,
"foo": "bar"
},
//resource2 is missing :c
{
"name": "resource3",
"value": 88,
"foo": "blee"
}
//etc...
]
当这个集合的一部分失败,什么是最好的/ REST风格/正确地通知我的REST API的消费者,他们所请求的数据是不完整的方法吗?
我不确定。有趣的问题。可能你应该为资源添加一个status属性,所以你可以在缺少的远程资源上设置一个'status:“timeout”'或类似的东西。 – inf3rno
我会,但我不一定知道在这些错误情况下缺少哪些特定资源,所以在这些情况下我不能假定占位符。 – 72A12F4E
我想至少你知道超时发生在哪些资源上。从客户角度来看,一些资源不可用很重要吗? – inf3rno