🌟

Mermade/openapi-guiを使ってOpenAPI(Swagger)仕様書を作る

2024/02/26に公開

諸君、私はSwaggerが嫌いだ

yamlを直接書かせる仕様のOpenAPIことSwagger
すっかり業界標準になり腹立たしい限り。
それを回避するためにStoplightを導入したものの、
そちらが変な方向に行って断念。
代わりにinsomniaを使ってみたがもう一つという
奥歯に挟まったモヤシが取れない日々。

APIDOGHoppscotchApiBldrなどクラウド製品を使うのは、
ちょっとセキュリティ的にNGが出るパターンもある。

(゜-゜) 詰んだな...

ある時、自身のブックマークをチェックしてて、
過去にブックマークしたけどスルーしたツールがあった。
それが

openapi-gui

https://github.com/Mermade/openapi-gui

令和4年4月で開発が止まっていて、
試さずに終わってたのだが、
最近見たらコミットが増えていた。
(調整事項ばっかりだけど)

一応メンテしてるんだなということで、
ちょっと触ってみよう。

ヾ(・ω<)ノ" 三三三● ⅱⅲ コロコロ♪

------------------- ↓ 本題はここから ↓-------------------

openapi-guiとは?

オープンソースのAPI開発ツール。
Docker上(Node)で動作し、
PostmanなどのAPIテストツールのUIでAPI仕様書を作成できる。
対応はOpenAPI3.0まで(3.1は非対応)

openapi-gui

クラウドではなくローカルのDockerで動くので漏洩周りのセキュリティ的な心配はなさそう
開発のdocker-compose.ymlに加えておくのはありかもと考えている。

インストール

DockerHubにイメージがあるので、
ローカルでビルド。

git clone https://github.com/Mermade/openapi-gui.git
cd openapi-gui
docker build -t mermade/openapi-gui

実行

docker run --name openapi-gui -p 8080:3000 -d mermade/openapi-gui

!http://localhost:8080

(・ω・) 動いた

設計準備

最初はサンプルが乗ってる状態なので、
参考にYamlをダウンロードしておく。

「Export YAML」(またはJSON)よりDownloadボタンを押下

続いてデータをクリアして、
自身のAPI設計を開始する

「Upload」より「Remove All」を押下

API設計開始

「Main」を押下し、「Create Path」よりパスを登録していく

(´・ω・) 使えんじゃね?

設計ファイルが一枚という制限はあるものの、
基本的に必要な機能は載ってる気がする。
しばらく使ってみよう。

------------------- ↓ 後書きはここから ↓-------------------

この際マイナーツールでもいいや

停止

docker stop openapi-gui && docker rm openapi-gui

Discussion