2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ReDoc+Vercelを利用して、高速でOpenAPIドキュメントを公開する

Posted at

ReDoc+Vercelを利用して、高速でOpenAPIドキュメントを公開する

はじめに

ReDoc+Vercelを用いてOpenAPIドキュメントを高速で公開する方法です。
ReDoc
Vercel
OpenAPI

今回の記事の作業内容は以下のリポジトリにコミットしています。
https://github.com/Cohey0727/redoc-sample

対象

以下の方を対象にしています。

  • GitHubで作業をしたことがある
  • OpenAPIでドキュメントを書いたことがある

Vercelの利用有無、ホスティングの知識は必要ありません。

実装

ReDoc CLI

まずは初期準備です。yarnを用いてReDoc CLIが利用できるように準備します。
yarnではなく、npmを利用している方はyarnの部分をnpmに置き換えて読んでください。

mkdir redoc-sample
cd redoc-sample
yarn init
> question name (redoc-sample):
> question version (1.0.0):
> question description:
> question entry point (index.js):
> question repository url:
> question author:
> question license (MIT):
> question private:
> success Saved package.json
> Done in 9.65s.
yarn add redoc-cli -d

以下でうまくインストールできているか確認できます。

redoc-cli --version
> 0.10.3

CLIを用いてビルド

OpenAPI準拠のyamlファイルまたは、jsonファイルを用意します。
今回はspec.yamlとします。またビルド成果物をpublic/index.htmlファイルとして出力するものとします。

以下のコマンド実行します。

redoc-cli bundle spec.yaml -o public/index.html

成果物の確認

ls -1
> node_modules
> package.json
> public
> spec.yaml
> yarn.lock
cd public
ls -1
> index.html

public/index.htmlが出力されています。このファイルをChrome等ブラウザで開くと以下のように表示されていれば成功です。
image.png

package.jsonscriptsのブロックを追記してビルドコマンドを簡略化しておきます。

package.json
{
  "name": "redoc-sample",
  "version": "1.0.0",
  "main": "index.js",
  "license": "MIT",
  "scripts": {
    "build": "redoc-cli bundle spec.yaml -o public/index.html"
  },
  "dependencies": {
    "redoc-cli": "^0.10.3"
  }
}

デプロイ

GitHub準備

GitHubより、Vercelと連携するGitRepositoryを作成します。
ここではリポジトリURLをhttps://github.com/Cohey0727/redoc-sample.git とします。

以下のコマンドで作業ディレクトリをgit管理します。
また.gitignoreファイルを追加してnode_modulespublicフォルダを追記します。

git init
touch .gitignore
echo node_modules/ >> .gitignore
echo public/ >> .gitignore
git add .
git commit -m 'Initial Commit'
git remote add origin https://github.com/Cohey0727/redoc-sample.git
git push -u origin master

Vercelデプロイ

Vercelのダッシュボード画面より、New Projectを押下します。
ダウンロード (1).png

GitHubの認証をしたのち、先程作成したリポジトリを選択します。
ダウンロード.png

プロジェクトはrootディレクトリなのでそのままContinueを押下します。
Screenshot from 2021-02-06 17-14-26.png

以下の項目を埋めて、Deployを押下します。

項目
FRAMEWORK PRESET Other
ROOT DIRECTORY ./
BUILD COMMAND yarn run build
OUTPUT DIRECTORY public

Screenshot from 2021-02-06 17-14-43.png

ビルドが成功すると以下の画面に飛ばされます。
Screenshot from 2021-02-06 17-16-45.png

Visitを押下してサイトがうまく構成されているかを確認します。
Screenshot from 2021-02-06 17-16-52.png

更新

Vercelはデフォルトでgitにコミットがあると自動でリビルドしてくれます。
yamlファイルを更新してコミットすると自動で反映されます。

まとめ

オプションでテンプレートやテーマを変更することもできるようです。
外部公開APIのドキュメント作成の選択肢になればいいなと思います。

2
1
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
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?