OpenAPI規範簡介
API開發從來都不是一項容易的任務,而不斷髮展的API則更加複雜。
我們如何確保不經意間地釋出實際會對API實行了重大更改? 我們如何交流怎樣使用API? 我們如何記錄我們的API? 我們如何自動化API的測試? 我們能不能做到這一切,並保持技術不可知論?
有大量的工具可供我們使用,然而,沒有一個是“恰到好處”的。
我們有一個選擇: 消費者驅動合同,ThoughtWorks總結如下:
在消費者驅動合同中,每個消費者在一個單獨的合同中記錄他們對提供者的期望。所有這些合同都是和服務提供者共享,提供者可以建立一個測試套件來驗證這些他們應該履行的義務。這可以讓他們保持敏捷,做出不影響任何消費者的改變。
簡而言之,“合同”可以看作是一種請求/響應。你給API一個X,並且可以期望api返回一個Y,合同契約是一種定義API互動的技術。
然而,合同在記錄API方面做得很差。
對於釋出公共API的情況,我們需要一種與技術無關的方法來記錄我們的API。目前,開放API在這個領域是一個明確的領導者。
2015年,SmartBear捐贈了用於OpenAPIInitiative的swagger2.0規範。這開啟了OpenAPIInitiative的形成,這是一個由多家公司組成的聯盟,包括:3 Scale、Apiges、Capital One、Google、IBM、Intuit、Microsoft、PayPal和Restlet。
在2017年夏天,OpenAPI倡議釋出了開放API 3.0規範。(跟“Swagger”這個名字說再見)
OpenAPI3.0規範可以用JSON或YAML編寫,並且在記錄RESTfulAPI方面做得很好。
開放API規範定義API互動。
OpenAPI3.0規範是也定義擴充套件。
透過使用OpenAPI規範擴充套件,我們可以定義消費者驅動的契約。
我們如何確保不經意間地釋出實際會對API實行了重大更改? 我們如何交流怎樣使用API? 我們如何記錄我們的API? 我們如何自動化API的測試? 我們能不能做到這一切,並保持技術不可知論?
有大量的工具可供我們使用,然而,沒有一個是“恰到好處”的。
我們有一個選擇: 消費者驅動合同,ThoughtWorks總結如下:
在消費者驅動合同中,每個消費者在一個單獨的合同中記錄他們對提供者的期望。所有這些合同都是和服務提供者共享,提供者可以建立一個測試套件來驗證這些他們應該履行的義務。這可以讓他們保持敏捷,做出不影響任何消費者的改變。
簡而言之,“合同”可以看作是一種請求/響應。你給API一個X,並且可以期望api返回一個Y,合同契約是一種定義API互動的技術。
然而,合同在記錄API方面做得很差。
對於釋出公共API的情況,我們需要一種與技術無關的方法來記錄我們的API。目前,開放API在這個領域是一個明確的領導者。
2015年,SmartBear捐贈了用於OpenAPIInitiative的swagger2.0規範。這開啟了OpenAPIInitiative的形成,這是一個由多家公司組成的聯盟,包括:3 Scale、Apiges、Capital One、Google、IBM、Intuit、Microsoft、PayPal和Restlet。
在2017年夏天,OpenAPI倡議釋出了開放API 3.0規範。(跟“Swagger”這個名字說再見)
OpenAPI3.0規範可以用JSON或YAML編寫,並且在記錄RESTfulAPI方面做得很好。
開放API規範定義API互動。
OpenAPI3.0規範是也定義擴充套件。
透過使用OpenAPI規範擴充套件,我們可以定義消費者驅動的契約。
相關文章
- OpenAPI規範入門API
- OpenAPI 3.0 規範-食用指南API
- MongoDB資料庫建立的基本規範簡要介紹MongoDB資料庫
- 簡要理解CommonJS規範JS
- 簡化服裝ERP系統的規範流程和規範功用
- Drools規則引擎簡介
- MySQL資料庫規範 (設計規範+開發規範+操作規範)MySql資料庫
- SwiftLint:程式碼規範檢查工具介紹Swift
- 規範與偏離規範
- 前端規範之HTML 規範前端HTML
- 前端規範之javascript規範前端JavaScript
- 前端規範之CSS規範前端CSS
- 前端規範之nodeJs 規範前端NodeJS
- RAP簡介教程&常用規則
- Docker常規安裝簡介Docker
- Evrete 規則引擎簡介 | baeldungVR
- AMD 規範與CMD 規範概要
- PHP 規範 - Symfony 程式碼規範PHP
- 前端規範之CSS規範(Stylelint)前端CSS
- 規範
- 前端規範之vue 專案規範前端Vue
- 『前端規範化』CSS命名規範化前端CSS
- 前端規範與思考(二)———css規範前端CSS
- 前端規範之Git提交規範(Commitizen)前端GitMIT
- MT8735 PCB設計規範資料介紹
- Cz工具集使用介紹 - 規範Git提交說明Git
- 從規範看ECMAScript(一):規範基礎
- 前端規範之媒體檔案規範前端
- Commonjs規範JS
- MySQL 規範MySql
- 提交規範
- Servlet 規範Servlet
- Commit規範MIT
- 擁抱 OpenAPI 3:springdoc-openapi 食用指南APISpring
- Java正規表示式簡單介紹Java
- 美國《關鍵軟體定義規範》簡析
- 使用AsyncAPI規範簡潔實現CQRS事件溯源案例API事件
- MySQL 規範 (資料庫表設計規範)MySql資料庫