nextjsで開発中にモックサーバーを立ち上げたいのでnext-swagger-docと@stoplight/prism-cliを比較してみた
nove-b
June 18, 2024
フロントエンドを開発するときにバックエンドサーバ―の用意ができていない時がよくある。
今までは側だけ作って待機していたが、せっかくなのでモックサーバーを立ち上げ、バックエンドができ次第、URLの向きを変え、完成! という風に出来ればと思いモックサーバーの立ち上げを調べてみた。
json-server
まずはjson-serverを使おうと思ったけど、同じエンドポイントでGet、Postが分けられなさそうということで不採用にした。けど、よくよく落ち着いて調べてみるとできるかもしれない。
いつか機をみて使ってみたい。
が、今回は上記の通り不採用した。
app/api
次に、そもそもnextjsにはAPIを作る機能があるじゃないかと思いだし、それを活用することにした。
ついでにAPI仕様書も作れればなおいいということで調べてみると、next-swagger-docというものがあった。
これでAPIを作成し、しかもSwaggerを作成できると舞い上がり実装してみた。
実装
まずはインストールする。
ちなみにバージョンは下記の通り。
lib/swagger.tsに下記をコピペする。
※以降先頭行がファイル名になっている。
これで完成したけど、これもじっと考えてみると、普通にAPI作っているのと何ら変わらないのではないか。
ということに気が付いた。
この労力を使うのではバックエンドサーバー作ったほうがよっぽど早い気がする。
ということで不採用にした。
@stoplight/prism-cliを使うことにした。
結果的に、@stoplight/prism-cliを使うことにした。
これは作成されたSwaggerからモックサーバーを立ち上げてくれるというもの。
どうせAPI仕様書を作ってからバックエンドサーバーを作るので、それをSwaggerで作るという風にすればいい。
そうすればバックエンドを作る前にその仕様書からモックサーバーを立ち上げることができるので、業務ストップがなくなる。
使い方は、
でインストールし、package.jsonに起動の記述を作成する。
これで、ルートにsample.ymlを作成するれば、それがモックサーバーとして起動される。
Discussion in the ATmosphere