0
我正在設計一個API,我希望允許客戶端能夠一次創建多個資源。客戶可以發佈包含多個項目的訂單。提供批量請求的ID
一種方法是允許客戶在訂單級別和每個項目級別提供唯一的ID,並且我存儲那些(以及我們的內部項目),但是這將允許客戶基於它的ID。請求示例:
{
order_ref: 'XXX',
items: [
{ item_ref: 'xx', quantity: 5 },
{ item_ref: 'yy', quantity: 5 },
]
}
另一種方法是返回一個ID爲順序以及每個項目的,但似乎沒有escalable作爲一個訂單可以有很多的項目,這樣的請求可能甚至超時。這也意味着退貨需要按順序進行,以便他們能夠將返回的ID與他們所要求的ID進行匹配。
應該採取什麼樣的方法?
我主要關注的第二種方法是,當從請求創建所有資源時,它可能會超時(因爲可能會有很多資源)。你通常如何處理這種情況?你有限制嗎?如果你有任何資源可以在這方面進行教育,我將不勝感激。 –
使POST異步。創建某種狀態端點,例如/ pendingOrders。立即回覆POST,並將位置標頭設置爲/ pendingOrders/{id},並在正文中包含有關請求何時完成的猜測。客戶可以通過GET/pendingOrders/{id}來獲得訂單生成的狀態。最終,訂單將完成,並且GET響應可以包含系統中新訂單的URI。 –
但如果這個「訂單」正在創造多種資源,他們怎麼知道哪一個是哪個? –