Lewati ke konten
create-nextjs-kit

openapi

Alasan ada: tipe request dan response mengikuti kontrak backend, jadi perubahan API langsung terlihat sebagai error TypeScript.

Mode: frontend. Otomatis memasang api-client.

Terminal window
npm create nextjs-kit@latest my-app -- --mode frontend --modules openapi

Letakkan spesifikasi di openapi/openapi.yaml (contoh disertakan), lalu:

Terminal window
npm run api:generate

Perintah ini menulis src/server/api/schema.d.ts. File itu dikecualikan dari Prettier dan ESLint dan boleh di-commit atau di-generate di CI.

import { apiClient } from "@/server/api/typed-client";
const { data } = await apiClient.GET("/health");

Token otomatis terpasang, dan response non-2xx dilempar sebagai ApiError, sama seperti api-client.

api:generate menjalankan npx openapi-typescript@7.13.0, bukan devDependency. Rilis 7.x mensyaratkan peer TypeScript 5, sedangkan template memakai TypeScript 6, sehingga npm menolak instalasinya. Pindahkan ke devDependency setelah ada rilis yang mendukung TypeScript 6.