👏

orvalがfetchをサポートした😘

2024/06/26に公開

概要

orvalのクライアントの標準はaxiosであり、これまでfetch APIはサポートされていませんでした。
https://v4.orval.dev/reference/configuration#client

6/22にfetchのサポートがマージされたようです( ^ω^)
https://twitter.com/SoartecL/status/1804367901836874138

ドキュメントは以下です。
容量を削れる利点もありますが、http clientとして動かせるので利用用途は広がりそうです。
https://orval.dev/guides/fetch

なぜできなかったのか

issueによると、Axiosはインターセプターを使ってカスタムインスタンスを簡単に作成できるためデフォルトにしていたようです。
今回コミッターの方が設定例を網羅してくれたおかげで選択肢に入るようになりました。

検証

6.31.0から利用可能です。
https://github.com/anymaniax/orval/releases/tag/v6.31.0

取り急ぎfetchの設定で生成してみると、fetchが使われてました👍
https://github.com/subkaitaku/orval-fetch-example/blob/main/src/generated/endpoints.ts#L151

customFetchの書き方は以下のdocに記載ありますので、設定を書けば変わらず使っていけそうです。
https://orval.dev/guides/fetch#custom-instance

短いですが、以上です。ありがとうございました。

参考

https://axios-http.com/ja/docs/interceptors

Discussion