Api 用于创建单个和批量资源的多个端点

Api 用于创建单个和批量资源的多个端点,api,rest,Api,Rest,我目前正在实现一个RESTAPI,对于某些资源子集,它需要支持所述资源的单个和批量创建。我试图决定是否有必要公开两个独立的端点:一个用于单一创建,另一个用于批量创建 例如,假设我有一个地址资源。我可以通过将该资源的表示发布到URI/address来创建单个地址。如果我想支持批量创建,那么让/address端点识别是否有多个表示正在发布到该端点,然后采取适当的操作(单个创建或批量创建)会更好吗,还是最好有一个只接受批量创建的完全独立的端点?我的方法是允许一个POST-to/addresses对象包

我目前正在实现一个RESTAPI,对于某些资源子集,它需要支持所述资源的单个和批量创建。我试图决定是否有必要公开两个独立的端点:一个用于单一创建,另一个用于批量创建


例如,假设我有一个地址资源。我可以通过将该资源的表示发布到URI
/address
来创建单个地址。如果我想支持批量创建,那么让
/address
端点识别是否有多个表示正在发布到该端点,然后采取适当的操作(单个创建或批量创建)会更好吗,还是最好有一个只接受批量创建的完全独立的端点?

我的方法是允许一个POST-to/addresses对象包含多个地址定义。在后端,您迭代对象并创建一个或多个地址。所以身体是这样的:

<addresses>
    <address>
        <street>123 Maple Lane</street>
        <city>Newark</city>
        <state>NJ</state>
        <zip>00000</zip>
    </address>
    <address>
        <street>227 First Avenue</street>
        <city>Tulsa</city>
        <state>OK</state>
        <zip>00000</zip>
    </address>
</addresses>

枫树巷123号
纽瓦克
新泽西州
00000
第一大道227号
塔尔萨市
好啊
00000
我会避免使用单独的端点,因为没有理由这样做。如果在集合中只发布一个地址,则只创建一个地址