OpenAPI
#API
はじめに
巷で話題のOpenAPIについてガッツリ調べてみようと思う。
SwaggerやらRedocやらOpenAPIやら、何が何で違いは何か?全くわからんかったので一旦調べる。
OpenAPIとは
Rest形式で実装されたAPIの定義(エンドポイント、リクエスト、レスポンスなど)をJSON or YAMLで記述したもの。
このOpenAPIは人間も機械も読みやすい書かれ方になっている。
OpenAPIの歴史
Swaggerというドキュメント生成ツールを作ってる会社が、内部で自作して利用してたライブラリが発端。
そこから、SwaggerがOpenAPIを世界の標準規格にしに行って今に至る。
OpenAPIの特徴
プログラミング言語に依存しない
YAML or JSON形式で記載
人間、機械の両方から理解しやすい
OpenAPIはどういう点で役立つのか(メリット)
1. API定義から見やすいドキュメントを作れる
SwaggerやRedocなどのドキュメント生成ツールを用いて作成
2. API定義を元にAPI利用クライアント用のモックサーバーを立てれる
3. (不安定らしいが)OpenAPI定義から各プログラミング言語のAPIコードを生成できる?
OpenAPI周りの便利ツール
Prism:OpenAPIを元にモックサーバーを立てる
これはonigiri.w2.iconも知ってるが、めちゃくそ便利
Swagger:OpenAPIからドキュメント生成したり、APIの簡単なデバッグなども可能
Redoc:こちらもSwaggerと似たやつ
参考
OpenAPIとSwaggerについて - Qiita
Swagger 仕様について | ドキュメンテーション | スワガー