Swagger 焦點:產生 OAS、使用 Swagger UI 進行測試等等

本週的 Swagger 焦點特輯彙集了來自網路各處的最新內容,這些內容來自使用 OpenAPI 規格和 Swagger 工具建置 API 的個人。
  2018 年 4 月 30 日

本週的Swagger 焦點特輯彙集了來自網路各處的最新內容,這些內容來自使用 OpenAPI 規格和 Swagger 工具建置 API 的個人。我們已手動選擇本週的文章,但也接受提交給下一個Swagger 焦點,以便在 Swagger 部落格上發表。如果您想撰寫 Swagger 焦點專題文章,請在此處查看我們正在尋找的內容並立即提交您的主題。如果您希望提高您正在進行的專案的知名度,或者只是分享您對 Swagger 工具的一些知識,我們很樂意聽取您的意見!

ICYMI – 上週的 Swagger 焦點特輯

使用 Python 自動產生 OpenAPI 規格和文件

在本文中,Thomas Pollet 將引導您瞭解如何使用他在 GitHub 上的專案,以使用 Python 自動產生 OAS 規格Swagger UI 文件。他建立了一個開源 python-pip 套件:safrs。safrs 是用於主要技術的首字母縮寫:SqlAlchemy、Flask-Restful 和 Swagger。他討論了此框架的目的,是為了協助 Python 開發人員為 sqlalchemy 資料庫物件和關係建立自我記錄的 JSON API。


我第一次接觸到 Swagger 是在幾年前,當時我必須使用 nutanix REST API 來實作系統監控應用程式。我發現這是偵錯和記錄 Web 服務的非常方便的方法。後來,當被要求為不同的專案提供文件時,我回到了 Swagger(現在是 OpenAPI)並實作了規格。

就像今天大多數的網路服務一樣,此專案的 API 端點提供了 CRUD 功能:建立、讀取、更新、刪除對資料庫後端的作業。規格中需要描述的許多資訊已隱含地編碼到應用程式中,因此我決定使用可用的應用程式語意來產生規格,而不是手動寫下規格。

閱讀更多

如何使用 Swagger UI 進行 API 測試

本文引導讀者瞭解如何使用 Swagger UI 進行 API 測試。它首先介紹了 Swagger UI 的基本知識,說明了為什麼它是要使用的好工具,然後逐步說明如何使用它測試 API。對於希望在 Swagger UI 中進行一些手動測試的人來說非常有用。本教學易於遵循,並且直截了當。您可以跟著使用範例 (http://petstore.swagger.io/v2/swagger.json),或使用您自己的 URL 嘗試。


在本文中,我將向您展示如何使用 Swagger UI 進行 API 測試。我們將首先討論 Swagger UI 是什麼,以及為什麼值得使用,然後繼續進行教學。

什麼是 Swagger?

Swagger(現在在 Linux 基金會的結構下稱為 OpenAPI Initiative)是一個框架,用於使用開發人員和測試人員容易閱讀和理解的通用語言來描述您的 API,即使他們對原始碼的知識不足也是如此。您可以將其視為房屋的藍圖。您可以使用任何您喜歡的建築材料,但您不能超出藍圖的參數... 

閱讀更多

使用 Swagger 和 Spring Boot 建置 REST API

在這篇文章中,Nikolaos Georgiou 談論瞭如何使用 Swagger 工具和 OAS 以使用 Java 和 Spring Boot 建置 REST API。他專注於使用 Swagger Codegen 在 Spring 中建置他的 API。他強調需要非常了解資訊,並清楚地逐步說明如何產生程式碼。如果您正在尋找有關在 Spring 中產生程式碼的更多資訊,請查看此文章。


在這篇文章中,我將使用 Swagger 以使用 Java 和 Spring Boot 建置 REST API。Swagger 是一個 API 框架。它使用基於 YAML 的語言來定義 API,並且它有一個支援多種語言的程式碼產生器。

工具

Swagger 提供了一個線上編輯器,可用於開始使用該語言並熟悉語法。但是為了產生一些程式碼,最好在本地擁有程式碼產生器。

在編輯器的左側,您可以看到 YAML 語法。在右側,API 的預覽會隨著您修改 YAML 定義而即時更新...

閱讀更多

Schema First API 設計

本指南向您介紹了 Schema First(有時稱為設計優先)API 設計背後的策略,以及如何使用 Swagger 工具開始使用 OpenAPI 規格。Yos Riady 在強調首先考慮使用 OpenAPI 規格進行設計的好處方面做得非常出色。如果您正在權衡使用 OAS 進行設計的優缺點,這是一個非常深入且有價值的資源。


您正在建置 API。

您開發了一個具有幾個端點的後端服務,並將其部署到生產環境。您發布了幾個官方的特定語言 API 用戶端以及 API 文件。快樂的一天結束了。

第二天,API 中新增了一項新功能。您必須

  • 更新伺服器實作以支援新功能。
  • 更新所有用戶端程式庫(每個支援的平台和語言一個 SDK)。
  • 更新文件。
  • 以上所有內容都必須彼此一致。
  • 此外,前端團隊會被封鎖,直到您的後端 API 完成為止。 

您發出了一聲沉重的嘆息。是否有更好的方法來執行此操作?…

閱讀更多 

分享您的 Swagger

您是否希望在 Swagger 部落格上重點介紹您的工作?Swagger 焦點為我們的思想家和創造者社群提供了一個與 Swagger 社群其他成員分享的機會。我們始終對人們使用 Swagger 工具建置的內容感興趣,並相信可以闡明這個社群正在進行的偉大工作。

立即提交您的想法!