0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OpenAPIを利用するツール

Posted at

OpenAPI(OAS) を利用するツールや OpenAPI を生成するツールなどを改めて一通りおさらい。
ツールの使用目的からまとめているので、かなり重複があります。

おことわり

使ったことがないツールも多いので、内容に正確性はないです。足りないものや間違いがありましたら教えていただけますと助かります。

OpenAPI を記載するためのツール

Swagger Editor

左側に OpenAPI を書くと右側にAPI定義を記載してくれるツール。
まずは OpenAPI とはどんなものかを知るときには、最初からペットショップのサンプルも張り付けてあるので便利。

Apidog

APIデザイン中心の開発プラットフォーム。
作成したプロジェクトを選択してエクスポートすると、プロジェクトの内容を OpenAPI 形式で出力することができます。

Stoplight Studio

OpenAPIをデザインするためのツール。
GUIでAPIの内容を記載していくと、合わせてOpenAPIの内容も記載してくれる。
Code を確認することにより、OpenAPIの内容を確認することができる。

ソースから OpenAPI を生成するツール

apidoc-to-openapi

APIDOC から OpenAPI を出力するツール。
2019年あたりからリリースがとまっている模様。

springdoc-openapi

SpringのAPIをAPIドキュメントに変換してくれる。
実行すると、swagger-ui が起動し、その中にOpenAPIのファイル(open-api.json)も出力してくれる1
Kotolinもサポート。

OpenAPI からソースを生成するツール

OpenAPI で API の定義を記載したファイルから、APIサーバーやクライアントのコードを生成するツール。

OpenAPI Generator

サーバーのスタブと API クライアントのソースコードを生成してくれる。
サーバー側は C#、Go、Haskel、Java、Kotlin、PHP、Python、NodeJS、Ruby、Rust、Scalaなど。
API クライアント側は、Go、Haskell、Java、Node.js/JavaScript、Perl、PHP、Python、Ruby、Rust、Scal、Swift、TypeScriptなどに対応。
たくさんありすぎて書ききれない、、、

Apidog

Apidog でもソースコードの生成が可能です。
OpenAPI から生成するというよりは、Apidog で API 仕様を書くか、 OpenAPI のファイルをインポートしてからその内容を元にソースを出力することができます。
出力できる言語は、Java、PHP、Kotolin、JavaScript、C#、Go、Scala、Python、Rust、Ruby、Perlなどのクライアントとサーバーのコードを出力することができます。
あと、Swiftのクライアントコードを出力することもできます。

aspida

ブラウザと Node.js のための API クライアントを生成してくれるツール。

openapi-python-client

Python 用の API クライアントを生成してくれるツール。

OpenAPI からAPIを叩くツール

主にテストとして、APIサーバーに接続してAPIを実行し、結果を確認することができるツール。

Postman

APIを外部から実行し動作を確認することができるツール。
OpenAPI の内容をインポートして、API定義を読み込むことができる。

Insomnia

Insomnia も OpenAPI の内容をインポートして、APIを実行することができる。

Apidog

ApidogもAPI仕様から対象のAPIを実行することができる。

Swagger Editor

Swagger Editor もAPIを叩くことができます。ただ、OpenAPIを貼り付ける必要があるので、ちょっと確認する以外の用途では使いづらいかも。

OpenAPI からテストを生成するツール

PACT

APIの契約テストを行うツール。
APIクライアント側(コンシューマ側)のテストと、APIサーバー側(プロデューサー側)のテストを行うことができる。
両方を同じテスト仕様(契約)によってテストすることにより、APIクライアント側とAPIサーバー側の結合が問題なく行えることを検証する。

Apidog

Apidog では、自動テストを管理することができ、OoenAPIの内容から指定したパラメータに対して正しいステータスを返すのかといったテストを行うことができます。

OpenAPI から仕様書を生成するツール

Swagger UI

OpenAPIの内容を仕様書として表示するツール。
Swagger Editor の右側(?)。
APIサーバーの簡単な動作確認もできる。

OpenAPI から API Gateway を設定するツール

AWS

Amazon API Gateway

Amazon API Gateway では、Gateway の設定を OpenAPI の定義を読み込むことによって行うことができます。23

Azure

Azure API Management

Azure API Management でも、OpenAPI を設定としてインポートすることができます。4

GCP

API Gateway

Google Cloud では名前もそのままの API Gateway があります。
APIの設定維持に OpenAPI の内容をインポートすることができます。5

  1. https://springdoc.org/#how-can-use-custom-jsonyml-file-instead-of-generated-one

  2. https://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/api-gateway-import-api.html

  3. https://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/http-api-open-api.html

  4. https://learn.microsoft.com/ja-jp/azure/api-management/import-api-from-oas?tabs=portal

  5. https://zenn.dev/ncdc/articles/1cb8151cfdfb3c

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?