openapi
Alasan ada: tipe request dan response mengikuti kontrak backend, jadi perubahan API langsung terlihat sebagai error TypeScript.
Mode: frontend. Otomatis memasang api-client.
npm create nextjs-kit@latest my-app -- --mode frontend --modules openapiPemakaian
Section titled “Pemakaian”Letakkan spesifikasi di openapi/openapi.yaml (contoh disertakan), lalu:
npm run api:generatePerintah 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.
Catatan
Section titled “Catatan”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.