Aspida
ブラウザと node.js のための TypeScript フレンドリーな HTTP クライアントラッパー
StarFrourio エコシステムにおける働き
Aspida は、fetch や axios などのクライアントをラップすることで、TypeScript による型安全な HTTP 通信を可能にするシンプルなライブラリです。Next.js に似たディレクトリベースの API 型定義から、単一のオブジェクトを生成します。
Aspida はもともとクライアントサイドのために設計されたものですが、frourio では aspida の型定義を元にコントローラーなどを書くことで、型安全性をサーバーサイドに拡張しています。
つまり、aspida は frourio エコシステムにおいて、クライアントサイドの型安全として機能します。
Frourio における型の活用
API 型定義で reqBody, reqHeaders, query として定義された型は、コントローラーなどの引数に含まれます。また、resBody, resHeaders として定義された型は、コントローラーからの戻り値として強制されます。
API 型定義を書く
API 型定義の書き方は aspida の README を参照してください。