當前位置:編程學習大全網 - 編程語言 - Swagger 2與OpenAPI 3

Swagger 2與OpenAPI 3

重命名

swagger: 2.0

openAPI: 3.0.0

Swagger 2.0 基礎URL結構

OpenAPI 3.0 基礎URL結構

我們可以定義壹個基礎url,通過{}裏面裝載變量值(類似於路徑模版),在使用時,通過variables屬性可以定義變量值,當然也可以給定默認值

Swagger 2中的definitions概念在OpenAPI 3中標準化為組件,可以在多個地方重復使用且可定義,組件列表如下:

Swagger 2

Swagger 2最容易混淆的方面之壹是body / formData。它們是參數的子集,只能有壹個或另壹個,如果妳使用body,格式與參數的其余部分不同(只能使用body參數,名稱不相關,格式不同,等等)

OpenAPI 3

現在,body已經被移入了它自己的叫做requestBody的部分,並且formData也已經被合並到裏面。另外,cookies已經被添加為參數類型(除了現有的標題,路徑和查詢選項之外)。

requestBody有很多新的功能。現在可以提供example(或數組examples)for requestBody。這是非常靈活的(妳可以傳入壹個完整的例子,壹個參考,甚至是壹個URL的例子)。

新的requestBody支持不同的媒體類型(content是壹個MIME_Types的數組,像application/json或者text/plain,當然妳也可以用 / 捕捉所有)。

對於參數,妳有兩個選擇妳想如何定義它們。妳可以定義壹個“模式”(像原來2.0那樣),可以盡情地描述項目。如果更復雜,可以使用“requestBody”中的“content”。

通配符的出現,我們可以以“4XX”來定義響應,而不必單獨定義每個響應碼。

響應和響應頭可以更復雜。可以使用“content”對象(如在請求中)的有效載荷。

鏈接是OpenAPI 3最有趣的補充之壹。它有點復雜,但可能非常強大。這基本上是描述“下壹步是什麽”的壹種方式。

比方說,妳得到壹個用戶,它有壹個addressId。這addressId本身是無用的。您可以使用鏈接來展示如何“擴大”,並獲得完整的地址。

在“/ users / {userId}”的響應中,我們找回了壹個addressId。“鏈接”描述了如何通過引用“$ response.body#/ addressId”來獲取地址。

另壹個用例是分頁。如果要獲取100個結果,links可以顯示如何獲得結果101-200。它是靈活的,這意味著它可以處理任何分頁方案limits來cursors。

Swagger 2

OpeanAPI 3

壹堆安全性的變化!它已被重命名,OAuth2流名已更新,您可以有多個流,並且支持OpenID Connect。“基本”類型已被重命名為“/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#oasDocument

/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#componentsObject

  • 上一篇:Photoshop的生產廠家以及每個版本的發布時間!
  • 下一篇:小馬精靈觀後感60字
  • copyright 2024編程學習大全網