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
- Open API Initiative釋出OpenAPI規範3.0.0API
- javascript AMD規範簡單介紹JavaScript
- css編碼規範簡單介紹CSS
- HTML編碼規範簡單介紹HTML
- javascript程式碼規範簡單介紹JavaScript
- node.js的編碼規範簡單介紹Node.js
- js AMD規範介紹JS
- MongoDB資料庫建立的基本規範簡要介紹MongoDB資料庫
- pffp(一個JavaScript公共函式介面規範)的簡介JavaScript函式
- BEM——前端命名規範介紹前端
- 前端開發規範:命名規範、html規範、css規範、js規範前端HTMLCSSJS
- 簡化服裝ERP系統的規範流程和規範功用
- 簡要理解CommonJS規範JS
- PHP程式碼規範簡潔之道PHP
- PHP 程式碼規範簡潔之道PHP
- MySQL資料庫規範 (設計規範+開發規範+操作規範)MySql資料庫
- Drools規則引擎簡介
- 正規表示式簡介
- 前端規範之javascript規範前端JavaScript
- 前端規範之CSS規範前端CSS
- 前端規範之HTML 規範前端HTML
- div和css命名規範推薦介紹CSS
- PHP 規範 - Symfony 程式碼規範PHP
- 前端規範之nodeJs 規範前端NodeJS
- 編碼規範系列:css規範CSS
- RAP簡介教程&常用規則
- Evrete 規則引擎簡介 | baeldungVR
- Docker常規安裝簡介Docker
- SOA簡化應用開發規範完成
- SwiftLint:程式碼規範檢查工具介紹Swift
- 『前端規範化』CSS命名規範化前端CSS
- 前端規範之vue 專案規範前端Vue
- 前端規範與思考(二)———css規範前端CSS
- 前端規範之CSS規範(Stylelint)前端CSS
- Android 程式碼規範 - 命名規範Android
- Android程式碼規範:命名規範Android