由于性能是成功的關鍵指標,并且導出引擎經過了翻新,我們希望逐步全面地測試我們的系統。我們首先在 UI 中添加了一個新的導出選項(如果出現問題,客戶可以禁用該選項)以開始產生流量。為了幫助我們識別極端情況,我們將導出指向“最全面、符合標準和最新的機器可讀 API 定義目錄”(可在此處獲得: https:?//github.com/APIs-guru/openapi-directory),并對原始文檔和我們的新導出運行了頻譜。在許多情況下,我們發現使用新導出時驗證錯誤的數量顯著減少。在大多數情況下,這是清理 x-examples 和其他從 OAS2.0 更改為 OAS3.X 的屬性的結果。

便于使用

由于我們客戶的目標是提取完整且有效的定義文件(OAS 和 JSON Schema)并將其集成到下游工具中,因此 Catalog API 需要提供完全獨立的“捆綁”導出,無需外部引用或依賴項。Catalog API 不是簡單地內聯取消引用 $refs,而是創建可重復使用的“組件”(適用于 OAS3.X)或“定義”(適用于 OAS2)。這保留了各種工具(例如 SDK 生成)中使用的重要參數和模型名稱。

(左側為原始組件庫參考,右側為捆綁導出)

與 API 身份驗證和版本控制類似,還有一些其他“基礎”設計決策:

在設計階段,您可能會花費最多時間充實端點。由于 Stoplight 本身是圍繞項目及其內容組織的,因此我們首先將 /projects/ 作為主要資源。指定分支(對于 Web 項目,也稱為“版本”)或提交是必要的子資源,最后使用 /export/ 命令,后跟要導出的目標的文件路徑。可選地,有一個 include_internal 查詢字符串參數,它將包含或排除標有 x-internal 的對象(默認為 true)。我們相信最終結果直觀且易于緩存。

(圖片來自Catalog API 網絡研討會)

原文鏈接:Designing the Catalog API: How Stoplight Thinks About Public APIs

上一篇:

標準化API設計的重要性

下一篇:

API設計指南:來自API手冊的經驗教訓
#你可能也喜歡這些API文章!

我們有何不同?

API服務商零注冊

多API并行試用

數據驅動選型,提升決策效率

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

對比大模型API的內容創意新穎性、情感共鳴力、商業轉化潛力

25個渠道
一鍵對比試用API 限時免費

#AI深度推理大模型API

對比大模型API的邏輯推理準確性、分析深度、可視化建議合理性

10個渠道
一鍵對比試用API 限時免費