Budu tento příspěvek krátký a sladký :)
Dělal jsem nějaké CRUD s trasami Next.js API a vždy jsem rád používal Koa.js pro vytváření API v Node.js.
Myslím, že Koa.js se skvěle hodí pro Next.js, protože je plně asynchronní, zpracování chyb je snadné a kódová základna je velmi malá, takže inicializace aplikace Koa je velmi rychlá.
Rozhodl jsem se integrovat Koa.js (a Koa Router) s trasami Next.js API:
Použití je jednoduché takto (ve vašem souboru API):
//pages/api/[[...demo]].ts
import { KoaApi, withKoaApi } from 'nextjs-koa-api'
const api = new KoaApi({ router: { prefix: '/api' } })
api.use((ctx) => {
ctx.body = 'Hello World'
})
.router.get('/:todo',....)
.post('/:todo',....)
.delete('/:todo',....)
//use helper function
export default withKoaApi(API)
//or the standard way
export default function handler(req: NextApiRequest, res: NextApiResponse) {
return api.run(req, res)
}
Podívejte se na úložiště, kde najdete kompletní dokumentaci a malou ukázkovou aplikaci Next.js.
https://github.com/ivandotv/nextjs-koa-api
Jsem otevřený návrhům a příspěvkům.
Díky!