
I NextJs kan man opprette API-stier (eller API-routes). Dette er spesielle funksjoner som legges under pages/api. Disse funksjonene fungerer da som “serverless lambda”-funksjoner og en kan i stor grad bygge hele sin applokasjon rundt dette om en ønsker. For eksempel kan en lambda koble seg mot en database for å hente data direkte.
Mappestrukturen til API-routes er lik den man finner for vanlige sider. Det vil si
<name>.ts for en enkel sti[id].ts for dynamiske stier[…id].ts for dynamiske catch-all-siderAPI-stier brukes også for å maskere URL-en til en ekstern tjeneste og eventuelt behandle dataen før en sender resultatet tilbake eller før en sender spørringen mot den eksterne tjenesten eller databasen. I prinsippet kan man også putte et GraphQL-lag mot en REST-tjeneste her.
Eksempel på standard boilerplate kan se slik ut:
1import {NextApiRequest, NextApiResponse} from "next"; 2 3export default async function handler(req: NextApiRequest, res: NextApiResponse) { 4 if(req.method !== "GET") { 5 return res.status(405).end(); 6 } 7 const date = new Date(); 8 return res.status(200).send({ date: date.toString() }); 9}