我目前正在实施REST API,对于某些资源子集,需要支持所述资源的单一和批量创建。我试图决定是否有必要公开两个单独的端点:一个用于单个创建,一个用于批量创建。
例如,我们假设我有一个地址资源。我可以通过将该资源的表示形式发布到URI /address
来创建单个地址。如果我想支持批量创建,那么让/address
端点识别是否有多个表示被POST到该端点然后采取适当的操作(单个创建或批量创建),或者是最好有一个完全独立的端点,只接受批量创建?
答案 0 :(得分:0)
我的方法是允许POST到/地址的对象可以包含多个地址定义。在后端,您遍历对象并创建一个或多个地址。所以身体会是这样的:
<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>
我会避免单独的端点,因为没有理由。如果您只在集合中发布一个地址,则只创建一个地址。