Směrování API Next.js s Koa.js

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!