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

便于使用

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

(左側(cè)為原始組件庫參考,右側(cè)為捆綁導(dǎo)出)

與 API 身份驗(yàn)證和版本控制類似,還有一些其他“基礎(chǔ)”設(shè)計(jì)決策:

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

(圖片來自Catalog API 網(wǎng)絡(luò)研討會(huì))

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

上一篇:

標(biāo)準(zhǔn)化API設(shè)計(jì)的重要性

下一篇:

API設(shè)計(jì)指南:來自API手冊的經(jīng)驗(yàn)教訓(xùn)
#你可能也喜歡這些API文章!

我們有何不同?

API服務(wù)商零注冊

多API并行試用

數(shù)據(jù)驅(qū)動(dòng)選型,提升決策效率

查看全部API→
??

熱門場景實(shí)測,選對(duì)API

#AI文本生成大模型API

對(duì)比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力

25個(gè)渠道
一鍵對(duì)比試用API 限時(shí)免費(fèi)

#AI深度推理大模型API

對(duì)比大模型API的邏輯推理準(zhǔn)確性、分析深度、可視化建議合理性

10個(gè)渠道
一鍵對(duì)比試用API 限時(shí)免費(fèi)