我有一個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