我有一个REST API,它聚合来自几个不同来源的数据,进行一些格式化,然后将它提供回JSON有效负载。
/ 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 api的最佳/ RESTful /正确方法是什么,他们请求的数据是不完整的?
答案 0 :(得分:-1)
我猜你应该使用特殊的HTTP Status Code
修改强>
几年后考虑我的答案让我再次看到这个状态代码列表。从我看来,我可能会说,如果我们想坚持使用状态代码,202可能是唯一合理的方式。
202接受 - 该请求已被接受处理,但处理尚未完成。该请求最终可能会或可能不会被执行,并且在处理时可能会被禁止
我可以说:已接受,这是您的数据开始,但期待未来的变化