2017-02-20 73 views
1

我們是一家電子商務公司,我們允許我們的經銷商一次列出多個產品。REST:我們是否可以部分執行POST/PUT/DELETE資源以同時執行多個請求的API

的API簡化版的樣子:

{ 
"dealerId":1, 
"stocks": { 
     [] 
} 

}

既然我們允許經銷商一次性發布多個股票,我們應該在的情況下做的有一些驗證錯誤。我們是否應該成功發佈正確的股票併發送成功和失敗股票的回覆消息?如果是的話,在這種情況下應該是什麼響應代碼,200或400或其他代碼?

例如讓我們說stockId1有正確的數據,但stockId2的價格小於1,這是驗證錯誤。

如果我們POST stock1和拒絕stock2或者我們應該拒絕?

REST對這種情況有什麼建議?

回答

1

你有兩個選擇:

  1. 返回202 Accepted告訴它被接受的客戶端,但並不保證一切順利,並符合市場預期。
  2. 退貨200以及失敗的物品清單。

重要的是要選擇一個,在API上清楚地傳達這些信息,以便客戶知道並保持一致。換句話說,不要使用202進行某些操作,而使用200進行其他操作。

相關問題