簡體   English   中英

REST API:在API上附加“批量”以在同一資源上創建批量創建?

[英]REST API: append 'bulk' to api to create bulk create on same resource?

我有一個資源class 我需要兩個API:

  1. 批量創建類
  2. 創建一個類。

在REST標准中,我應該創建2個API:

  1. /classes/bulk/ -用於批量創建
  2. /classes/ -創建一個類。

這種方法對我來說似乎不是必需的,是嗎? 為此使用查詢參數是否更RESTful: /classes?type=bulk

同樣,批量調用和非批量調用的200的處理邏輯和響應模式也不同

這種方法對我來說似乎不是RESTful的?

URI拼寫與REST體系結構無關。 是否將/bulk附加到URI不會使您的應用程序更加RESTful。


要在URI中使用/bulk ,也可以使用相同的URI處理一個或多個資源的創建。 考慮到您的資源是一條消息 然后,您可能會得到以下內容:

POST /api/messages HTTP/1.1
Host: example.org
Content-Type: application/json

{ 
  "to": "John"
  "content": "Hi"
}
POST /api/messages HTTP/1.1
Host: example.org
Content-Type: application/json

[
  { 
    "to": "John"
    "content": "Hi"
  },
  { 
    "to": "James"
    "content": "Hey"
  },
  { 
    "to": "Sarah"
    "content": null
  }
]

記住操作是否為原子操作也很重要。 如果一封郵件中包含無效數據,則您可以拒絕也可以不拒絕整個請求。

如果操作是原子操作, 可以使用400422報告無效數據。 如果該操作不是原子操作, 可以使用207報告每個資源的操作結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM