ZodiosというAPIクライアントを知ったので調べた
ZodiosはAPIのパラメータやレスポンスをZodで型をつけたものとして扱えるというもの
Zodを使っている人は重宝しそう
kaniさんの記事が参考になる oisham.hatenablog.com
axios依存の API クライアントであるが、fetchをプラグインとして使うことは可能みたい
Zodiosでの宣言例
import { Zodios } from "@zodios/core"; import { z } from "zod"; const apiClient = new Zodios( "https://jsonplaceholder.typicode.com", // API definition [ { method: "get", path: "/users/:id", // auto detect :id and ask for it in apiClient get params alias: "getUser", // optionnal alias to call this endpoint with it description: "Get a user", response: z.object({ id: z.number(), name: z.string(), }), }, ], );
こう宣言しておくと、呼び出す時にパスの候補を出してくれたり、レスポンスに型補完がついて便利になる
書き心地もよさそうなので、使ってみたい