在REST API中返回不完整结果的正确方法?

时间:2016-09-21 14:37:21

标签: json rest api-design

我有一个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 /正确方法是什么,他们请求的数据是不完整的?

1 个答案:

答案 0 :(得分:-1)

我猜你应该使用特殊的HTTP Status Code

修改

几年后考虑我的答案让我再次看到这个状态代码列表。从我看来,我可能会说,如果我们想坚持使用状态代码,202可能是唯一合理的方式。

  

202接受 - 该请求已被接受处理,但处理尚未完成。该请求最终可能会或可能不会被执行,并且在处理时可能会被禁止

我可以说:已接受,这是您的数据开始,但期待未来的变化