SwaggerでAPI仕様書を作りAPIモックをスムーズに共有するための構成を考えた

SPA開発に進めていくにあたって、先にフロントエンドの開発が先行していることが多く、バックエンドはAPI設計のSwaggerこそあるものの実装されたものがなく、フロントエンドとバックエンドの結合に大きなコストがかかるってのを経験したのでどうにか同じ轍を踏まないために検討してみた。



そこで作ったリポジトリがこれ。
Swagger UIやSwagger EditorなどのSwaggerドキュメント編集、表示ツールとSwagger CodegenやPrismなどのモック生成ツールをDockerで扱えるようにしたもの。

作ったモックはローカルで動かしてもいいんだけど、フロントエンドに閉じた開発者だとどこかにデプロイされたエンドポイントを叩いた方がいいよなーと思い、GitHub ActionsでAWS App Runnerにデプロイできるワークフローも追加。
(最初はSwagger Codegenをデプロイしてみたけど、CORSの制限がかかってしまうのでPrismに切り替え)

使い方は「AmazonEC2ContainerRegistryPowerUser」ポリシーを持ったIAMとECRリポジトリを作り、GitHubリポジトリシークレットに登録。

App Rnnnerを構成するだけでデプロイすることができる。
※下記参考

$ curl https://xxxxxxxxx.ap-northeast-1.awsapprunner.com/hello
{"massage":"Hello World"}