如何为POST请求定义REST端点,期望单个项目和列表?

时间:2015-06-01 11:53:00

标签: rest post http-post api-design

在API中,我正在研究,有一个端点,除其他外应该通过POST请求创建单个项目,如

{
    "title": "foo title",
    "description": "foo description"
}

还有一个项目列表,如

{
    "items": [
        {
            "title": "foo title",
            "description": "foo description"
        },
        {
            "title": "bar title",
            "description": "bar description"
        },
        {
            "title": "buz title",
            "description": "buz description"
        }
    ]
}

是否符合REST,端点期望(并处理为有效)多种类型的输入(单个项目和列表)?或者在这种情况下只应将列表定义为有效输入?

如何正确满足要求并设计此端点?

1 个答案:

答案 0 :(得分:1)

我看不出任何不这样做的问题。事实上,由您来管理提供的内容。

也许您可以为项目列表提供一个简单的元素数组:

[
    {
        "title": "foo title",
        "description": "foo description"
    },
    {
        "title": "bar title",
        "description": "bar description"
    },
    {
        "title": "buz title",
        "description": "buz description"
    }
]

我在这个网址上写了一些关于此的内容:https://templth.wordpress.com/2015/05/14/implementing-bulk-updates-within-restful-services/。请参阅“实施批量添加”一节。

希望它可以帮到你, 亨利