import { fetchUsersWithAccess } from "sdk";
const usersWithAccess = fetchUsersWithAccess(id);

#2. 默認(rèn)最佳做法

您不希望您的客戶在使用應(yīng)用程序接口時(shí)采用不良做法。 因此,有了 SDK,您就可以實(shí)現(xiàn)某些安全功能,讓用戶可以安全地使用,而不必?fù)?dān)心實(shí)現(xiàn)的問題。

#3 更好的錯(cuò)誤處理

當(dāng)新的開發(fā)團(tuán)隊(duì)使用您的應(yīng)用程序接口時(shí),錯(cuò)誤信息是必不可少的。 如果他們做了一些意想不到的事情,他們應(yīng)該能夠找到根本原因。 而 SDK 可以幫助您生成更好、更全面的錯(cuò)誤信息。

#4. 抽象 HTTP 客戶端

為了進(jìn)行 API 調(diào)用,您需要實(shí)現(xiàn)一個(gè) HTTP 請求處理程序。 如果不想讓用戶自己處理 HTTP 請求,可以使用 SDK 對所有這些進(jìn)行抽象。 SDK 實(shí)現(xiàn)可以處理 HTTP 版本、頭信息、超時(shí)等。

#5. 執(zhí)行適當(dāng)?shù)尿?yàn)證

SDK 可用于強(qiáng)制執(zhí)行驗(yàn)證,例如強(qiáng)制執(zhí)行函數(shù)參數(shù)及其數(shù)據(jù)類型。 這一點(diǎn)非常重要,可以確保應(yīng)用程序接口用戶不會輸入錯(cuò)誤信息,也不必自己添加驗(yàn)證。

開放API的SDK生成方式

1、手工編寫,這種方式適合API安全通訊方式比較特殊的API接口,或者對性能有特殊要求的API接口。

2、借助API的SDK生成工具,這是當(dāng)下主流的方式,適合大部分開放平臺。

9種SDK生成工具

Speakeasy

Speakeasy 是一個(gè) API 基礎(chǔ)架構(gòu)平臺,您可以利用人工智能和生成 SDK 來改進(jìn)您的 API。 它提供完全可定制的 SDK生成工具,支持多種編程語言,包括 Go、Python、Java 和 Typescript。

Speakeasy 生成的 SDK 重點(diǎn)關(guān)注這些關(guān)鍵方面,以改善開發(fā)人員的體驗(yàn)。

主要功能:

它還能幫助您創(chuàng)建 terraform 提供商,以提升 API 基礎(chǔ)設(shè)施的水平。 不僅如此,使用 Speakeasy 生成內(nèi)聯(lián)文檔也非常方便,而且與 API 規(guī)范保持一致。

他們?yōu)闃I(yè)余愛好和個(gè)人項(xiàng)目提供免費(fèi)層級,為企業(yè)提供企業(yè)計(jì)劃。

Apimatic

這是一個(gè)通過提供 API 門戶、SDK生成工具和 API 轉(zhuǎn)換器來幫助改善 API 開發(fā)人員體驗(yàn)的平臺。 Apimatic 利用其核心引擎將 API 分解為四個(gè)基本組件:

轉(zhuǎn)換器: 有助于規(guī)格和驗(yàn)證

設(shè)計(jì)器:用于規(guī)格合并和門戶編輯

代碼生成器:生成客戶端庫、代碼示例和發(fā)布包

文檔生成器:通過輸入驗(yàn)證從規(guī)格生成文檔

然后將這四個(gè)部分組合成您所需的應(yīng)用程序接口解決方案。

它提供 14 天的免費(fèi)試用期,但不包括免費(fèi)層級。 對于公司和企業(yè),它采用自定義定價(jià)模式。

Fern

Fern 專用于為API而生的 SDK生成工具。 它是 OpenAPI spec 的替代品,但如果您已經(jīng)有了 OpenAPI spec,也可以導(dǎo)入它。 Fern 生成的 SDK 是慣用的,也就是說,它們利用了特定語言的功能,感覺就像手寫的一樣。

SDK 是可定制的,您可以在其中添加自定義邏輯。 此外,它還會自動生成聯(lián)網(wǎng)邏輯和類型定義,這樣您就可以只關(guān)注業(yè)務(wù)邏輯。

Fern 提供免費(fèi)計(jì)劃,最多可添加 3 個(gè)用戶并使用所有生成器。 使用專業(yè)計(jì)劃,您可以將 SDK 發(fā)布到 GitHub 倉庫并同步到 Postman。

Liblab

Liblab 是一款語言原生、符合 SoC-2 標(biāo)準(zhǔn)的 SDK生成工具,內(nèi)置身份驗(yàn)證、錯(cuò)誤處理和 API安全功能。 您幾乎可以獲得其他SDK生成工具所具有的所有功能。

鉤子用于將自定義代碼注入 SDK 生成管道。 為此,Liblab 提供了一個(gè)名為 “鉤子框架”(Hooks Framework)的完整框架。

不僅如此,您還可以使用 GitHub Actions 在向 GitHub 倉庫提交內(nèi)容時(shí)觸發(fā)自動 SDK 和文檔生成。

它對個(gè)人和業(yè)余項(xiàng)目免費(fèi),允許您探索 Liblab。 專業(yè)版具有一些高級功能,如自定義域、分析、安全警報(bào)和使用洞察。

Konfig

Konfig 可在您更改 API 規(guī)格時(shí)重新生成 SDK。 該SDK生成工具允許您導(dǎo)入 OpenAPI 規(guī)范或 Postman 集合,以自動生成并發(fā)布 SDK。

它支持所有主流語言,包括 Java、Typescript、Python、Go、C#、Ruby 等。 編寫測試用例和輸入驗(yàn)證不再是您需要擔(dān)心的問題。

您可以安排一次演示,開始探索它。

Appwrite

Appwrite 的 SDK生成工具 是一個(gè) PHP 庫,用于生成 Typescript、Nodejs、Java、Kotlin、Go、Dart、Python 等多種編程語言的 SDK。 不過,在撰寫本文時(shí),它目前僅支持 Swagger 2.0 規(guī)范。 本 README 文件中列出了未來將支持的所有規(guī)范。

另外需要注意的是,這個(gè) SDK 生成器仍在開發(fā)中,因此我不建議在生產(chǎn)中使用它。 此外,它還不支持 Postman 等主要規(guī)范。

REST United

REST United 是一款 SDK生成工具,可生成 9 種不同編程語言的 SDK。 只需五個(gè)步驟,您就可以生成 SDK:

支持的編程語言包括 PHP、Ruby、C#、Scala、Android、Objective-C、Java、Python 和 ActionScript(Flash)。 文檔還可根據(jù)您的需求進(jìn)行定制。

它提供 14 天的免費(fèi)試用期,供您探索每個(gè) API 最多 5 個(gè)端點(diǎn)的生成器。 企業(yè)計(jì)劃基于自定義定價(jià)模式。

Swagger Codegen

Swagger Codegen 是一款開源SDK生成工具,用于為 OpenAPI 規(guī)范定義的 API 生成客戶端 SDK。 API 定義文件可用于創(chuàng)建 Java、Scala 和 Ruby 等流行語言的庫。 它支持 40 多種編程語言,還能為多達(dá) 20 種編程語言生成服務(wù)器模板代碼。

通過 Swagger Hub 的免費(fèi)層,您可以使用 API 編輯器、主機(jī)文檔和模擬 API。 其企業(yè)計(jì)劃至少允許 15 名設(shè)計(jì)人員和 30 名消費(fèi)者使用。

Kiota

Kiota 是一款開源命令行SDK生成工具,用于生成 API 客戶端庫,以調(diào)用任何基于 OpenAPI 規(guī)范的 API。 它的 API SDK 提供了強(qiáng)類型的體驗(yàn),具有高質(zhì)量 SDK 的所有功能,但無需為每個(gè) API 學(xué)習(xí)新的客戶端庫。

它支持 C#、Go、Python、Java、PHP、Python、Swift、Typescript 等多種編程語言。 Kiota 可以生成代碼,在集成開發(fā)環(huán)境中實(shí)現(xiàn)自動完成,幫助發(fā)現(xiàn) API 資源和方法。 此外,它還能完全訪問 HTTP 功能。

總之

API的 SDK生成工具至關(guān)重要,因?yàn)樗鼈兡転槭褂媚膽?yīng)用程序接口的團(tuán)隊(duì)帶來更好的開發(fā)體驗(yàn)。 這最終會帶來更多的客戶,因?yàn)樗麄儼l(fā)現(xiàn)您的 API 易于使用。 在選擇 SDK 生成工具時(shí),要注意語言支持和 API 規(guī)范支持。

擴(kuò)展閱讀

將您的API文檔網(wǎng)站變成搖錢樹

原文鏈接:9 Tools to Generate SDKs for Your APIs to Get More Customers

上一篇:

19個(gè)API安全最佳實(shí)踐,助您實(shí)現(xiàn)安全

下一篇:

Windows10+vs 2017中創(chuàng)建WEB API教程
#你可能也喜歡這些API文章!

我們有何不同?

API服務(wù)商零注冊

多API并行試用

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

查看全部API→
??

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

#AI文本生成大模型API

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

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

#AI深度推理大模型API

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

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