django+DRF+openapi+aspida+swr
背景
フロントエンドではTypescript+React+SWRを使っている
バックエンドでのモデル定義から、フロントのTypeScriptの型定義を生成したい。
方法
code:sh
npm i -g @stoplight/prism-cli
発生した問題など
aspidaのリクエストにtrailing slashがつかない
Djangoでは、デフォルトでtrailing slashなしをslashありにリダイレクトするので、相性が悪い。
aspida.config.js にて設定可能
openapi2aspida がreadOnlyを見てくれない問題
Issueも上がっている
なので、POSTなどの更新リクエストを送ろうとすると型エラーを発してしまう
drf-specutacular側で、readOnlyを見れないクライアント用のコードを生成するオプションを用意してくれている。これを使えば解決。
@aspida/swr に useSWRInfinite とかがない。
Pull requestを投げている人はいる
今のところこれに関しては手で型定義をしてる。