NextJs

API-routes og lambdaer

Av Sondre Slåttedal Havellen

sondre@havellen.no
Opprettet 13.12.2021

API routes

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-sider

API-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}

Les mer på nextjs.org

Relaterte artikler