👻
TypeScriptでAPIクライアントをswaggerから自動生成する
swagger-typescript-apiを用いる
- 「swagger-typescript-api」は、Swagger(またはOpenAPI)を使用して定義されたAPIから、TypeScriptで型安全なクライアントコードを生成するためのツールです体。
特徴
- 型安全なコード生成: Swagger仕様から型情報を読み取り、TypeScriptの型定義を生成するため、APIを呼び出す際に型ミスマッチのリスクが低くなります。これにより、実行時エラーや不正確なリクエストの送信を防ぐことができます。
- 自動生成されたエンドポイントメソッド: Swagger仕様に定義されたエンドポイントごとに、適切な入力パラメータと出力型を持つメソッドが生成されます。これにより、APIエンドポイントへのアクセスが簡単になります。
- パラメータバリデーション: 生成されたクライアントコードは、リクエストパラメータのバリデーションを行います。これにより、不正なパラメータが送信されることを防ぐことができます。
- 認証の統合: Swagger仕様に認証情報が含まれている場合、生成されたクライアントコードは認証に必要なヘッダーやトークンを適切に設定します。
使用方法
- Swagger(OpenAPI)を用意する
- swagger-typescript-apiツールを使用して、仕様ファイルからTypeScriptのクライアントコードを生成します。
- 生成されたコードをAPIクライアントとして使用する
用意したswaggerをswagger-typescript-apiに食わせる
- 以下のコマンドをcliから実行する(スクリプトでも実行できます)
npx swagger-typescript-api -p (swaggerのパス) -o (出力先パス) -n (ファイル名)
npx swagger-typescript-api -p ./swagger.json -o ./src -n myApi.ts
- 自動生成のカスタムテンプレートを使用することができます。
オプション - 実行例
npx swagger-typescript-api -p ./index.yaml -o ./src -n testApi.ts
- 指定したパスに型生成がされます。
Discussion