在REST API中支援批次操作的幾個不同方法 - mscharhag
批次(或批處理)操作用於在單個請求中對多個資源執行操作。這可以幫助減少網路開銷。為了提高網路效能,通常最好發出更少的請求,而不是發出更少的資料的更多請求。
但是,在新增對批次操作的支援之前,如果確實需要此功能,則應三思而後行。通常,網路效能並不是限制請求吞吐量的因素。您還應該考慮使用HTTP流水線之類的技術來提高效能。
在執行批次操作時,我們應該區分兩種不同的情況:
- 批次操作將一個請求中的許多任意操作組合在一起。例如:刪除ID為42的產品,建立一個名為John的使用者,並檢索昨天建立的所有產品評論。
- 對相同型別的不同資源執行一項操作的批次操作。例如:刪除ID為23、45、67和89的產品。
請注意,所示的解決方案可能看起來不太像REST。通常,批次操作與REST約束並不十分相容,因為我們只需要一個請求就可以在不同的資源上進行操作。因此,根本沒有真正的REST解決方案。
本文研究了構建批次API的幾個不同方法。所有方法都有不同的優點和缺點。沒有唯一正確的方法,因為它始終取決於您的要求。
如果需要在單個請求中提交多個操作的通用方法,則可以使用自定義JSON格式。或者,您可以使用多部分內容型別將多個請求合併為一個請求。
您還可以拿出單獨的資源來表達所需的操作。如果您只有一個或幾個需要支援批次操作的操作,這通常是最簡單,最實用的方法。
在所有情況下,您都應該評估批次操作是否真正產生了預期的效能提升。否則,批次操作的額外複雜性通常是不值得的。
詳細點選標題見原文。
相關文章
- 在 .NET Core 中構建 REST APIRESTAPI
- REST:使用PATCH進行部分更新 - mscharhagREST
- SharePoint REST API - 一個請求批量操作RESTAPI
- REST API設計:如何處理Http併發一致性事務更新? - mscharhagRESTAPIHTTP
- Django 中 REST API 的設計DjangoRESTAPI
- 在 ASP .NET Core 中實現冪等 REST APIRESTAPI
- SharePoint REST API - 基本操作(二)RESTAPI
- SharePoint REST API - 基本操作(一)RESTAPI
- 檔案操作中的幾個大坑
- 常用的幾個陣列操作方法陣列
- REST 在 Java 中的使用RESTJava
- 有人知道在corba中如何同時啟動幾個不同的命名服務ORB
- SharePoint REST API - OData查詢操作RESTAPI
- 5個REST API安全準則RESTAPI
- rest apiRESTAPI
- SharePoint REST API - 使用REST API和jQuery上傳一個檔案RESTAPIjQuery
- JavaScript在IE與Firefox幾個寫法不同的地方JavaScriptFirefox
- mysql 批次更新與批次更新多條記錄的不同值實現方法MySql
- 在NodeJS中操作檔案常見的APINodeJSAPI
- 13 個設計 REST API 的最佳實踐RESTAPI
- 讓JavaScript中setTimeout支援鏈式操作的方法JavaScript
- 批次殺死MySQL連線的幾種方法MySql
- 批次繫結幾千個域名
- xml操作的幾種方法XML
- GraphQL API vs REST APIAPIREST
- 幾個MySQL在Python中操作示例,MySQL利用於Python的實戰!MySqlPython
- 在Linux系統中批次新增使用者的操作流程(轉)Linux
- 在Linux系統中,批次新增使用者的操作流程(轉)Linux
- C#中幾個不常用的操作符C#
- 在Windows 11中解除安裝更新的不同方法Windows
- 在Java中建立物件的不同方法是什麼?Java物件
- 在 Linux 中無人看守批次建立使用者的方法Linux
- DataSet的幾個基本操作
- [API 開發管理] 分享幾個 eoLinker 實用操作技巧API
- Shell指令碼中執行sql語句操作MySQL資料庫的幾個方法指令碼MySql資料庫
- Tomcat 配置支援不同的域名訪問各自不同程式的配置方法Tomcat
- 撰寫合格的REST APIRESTAPI
- Rest API 的那些事兒RESTAPI