openapi3.yml の入手
まずは openapi3.yml
を手に入れましょう。GitHub のリリースページからダウンロードする方法と、自分でビルドする方法があります。
ダウンロード
一番簡単なのは、GitHub のリリースページからダウンロードする方法です。
ここから openapi3.yml
をダウンロードしてください。
自分でビルド
自分でビルドしたい場合は、以下の手順を実行します。
- GitHub リポジトリをクローンします。
git clone https://github.com/symbol/symbol-openapi.git
- クローンしたリポジトリのディレクトリに移動し、依存パッケージをインストールします。
- ビルドを実行します。成功すると、
_build
ディレクトリ内にopenapi3.yml
が生成されます。
プロジェクトで使う
openapi ディレクトリを作成して、ダウンロードまたはビルドした openapi3.yml を中に格納します。
my-project/
├── openapi/
│ └── openapi3.yml ← ここに置く
├── src/
│ └── ...
次に openapi-typescript-codegen
をインストールします。また、HTTP クライアントに axios
を使用したいので、併せてインストールします。
npm i -D openapi-typescript-codegen
npm i axios
以下のコマンドで OpenAPI コードを生成します。
npx openapi-typescript-codegen -i ./openapi/openapi3.yml -o ./src/generated-api --useOptions -c axios
これにより、src/generated-api
ディレクトリ内に API クライアントコードが生成されます。
あとは、これを自分のコードから呼び出して使うだけです。
使用例
生成したコードを使って、実際に API を呼び出してみます。
以下は /node/info
エンドポイントを取得する例です。
import { NodeRoutesService, OpenAPI } from "./generated-api";
OpenAPI.BASE = "https://t.sakia.harvestasya.com:3001";
NodeRoutesService.getNodeInfo()
.then((nodeInfo) => {
console.log("Node Info:", nodeInfo);
})
.catch((error) => {
console.error("Error fetching node info:", error);
});