
API與REST API的區別?
OpenAPI(當時名為Swagger)首先上市,但還有其他一些關鍵因素有助于通過口碑迅速傳播:
毫無疑問,OpenAPI是使用最廣泛的標準。然而,RAML和API藍圖都解決了合法問題,通常以更有針對性的方式。
例如,考慮OAS和RAML之間的差異。2017年,MuleSoft表示:“RAML已成為建模API規范的主要方式,[OpenAPI]已成為描述API的最常見格式。”
使用這些術語時有相似之處和模糊之處。如果我們要求ChatGPT告訴我們“建模”和“描述”API之間的區別,它告訴我們,“API建模是指設計和定義API結構的過程,包括其端點、請求/響應格式和錯誤處理。它涉及創建API功能和行為的藍圖。另一方面,API描述是指記錄API的行為,包括其目的、使用和參考信息,如可用的端點、請求/響應格式、身份驗證方法和錯誤代碼。API描述的目的是為開發人員提供有效使用API所需的所有信息。”
總之,API建模是關于設計API,而API描述是關于記錄它。
ChatGPT,由OpenAI開發的聊天機器人
換句話說,開發 RAML 是為了對 API 進行建模和設計,而開發 Swagger 是為了描述和記錄 API。在 API 生命周期的初期,當 API 生產者決定 API 應該是什么時,他們可能會傾向于使用 RAML。API 生產者可能會在設計完成后生成 Swagger 文件,以增強 API 消費者的開發體驗。無論意圖如何,這兩種格式都可用于在整個 API 生命周期中對 API 進行建模或描述。
事實上,隨著 OpenAPI 的廣泛應用,API 生產者現在使用這種格式來設計和記錄他們的 API,我們也看到了一些 API 優先的實施方案。與其他替代方案相比,API 消費者對 OpenAPI 也更為熟悉。因此,爭論每種標準的優劣已經沒有意義,因為 OpenAPI 已經贏得了這場戰爭。
當你考慮OpenAPI提供的使用程度和互操作性時,爭論每種格式的優點是毫無意義的。
Kevin Swiber,Postman的OpenAPI倡議外聯和API生命周期集成專家
如果您是MuleSoft開發人員,您仍然可以選擇使用RAML和OpenAPI。如果您是Apiary開發人員,您也可以選擇使用API Blueprint和OpenAPI。然而,OpenAPI擁有更多的采用率、更豐富的生態系統和更多的社區支持。
英文原文: RAML and API Blueprint: where are they now?,作者: Joyce