14 ポイント 投稿者 samchon 2023-07-30 | 6件のコメント | WhatsAppで共有

Swagger.jsonファイルから TypeScript SDK とモックシミュレーターを生成するツール

ここでいう SDK(Software Development Kit)には、次の機能が含まれる

  • fetch関数のコレクション
  • DTO構造体
  • モックシミュレーター

SDKをビルドして利用すると、フロントエンド(クライアント)開発者がSwaggerドキュメントを読みながらfetch関数やDTO型を書き写すよりも、はるかに簡単で安全であり、さらにMSWでバックエンドサーバーをモックする作業も自動化されるため、生産性が向上する。

6件のコメント

 
roxie 2023-08-05

良い記事と、面白いアプローチをありがとうございます。これは私個人の好みかもしれませんが、本文の該当パートに「こういうコードを入れると、従来はこうなっていたものが、こうなる」といった形の例があれば、より良かったと思います。今の本文は、ほとんど目に入ってきません。

 
kuber 2023-07-30

TypeScriptのエコシステムでは、ドキュメントを見て関連する型や関数を手作業で定義するのが一般的なのでしょうか?

 
hyeonss0417 2023-07-31

関連して、TypeScriptの型をベースにOpenAPI Specを自動生成してくれるTspecというライブラリがあります(笑)

https://github.com/ts-spec/tspec

 
samchon 2023-07-31

TSでは、openapi-generatorが生成するコードは実用に耐えません

 
kunggom 2023-07-30

どうやら、この記事を投稿された samchon さんご自身が作られたツールの使い方のようなので、それなら Show GN のほうに行くべきなのではないかという気もします。

いずれにせよ、swagger.json ファイルを使って TypeScript クライアントで自動補完を効かせるようにするのは、良いアイデアだと思います。ひょっとして NestJS ではない別のバックエンドスタックでも使えるのでしょうか?

 
samchon 2023-07-30

言語やフレームワークを問わず、OpenAPI v3.0仕様の swagger.json さえビルドできれば大丈夫です。

以前にもこのブログ記事を show GN を付けて投稿したことがありますが、そのときは管理者の方から、show GN は GitHub やプロジェクトのリンクだけを投稿する場所だと言われ、一般記事のほうへ移動していただきました。