No HTTP methods were exported from '...'. Export a named export like: export async function GET(request) { ... }

Route Handler-filer exporterar namngivna HTTP-metoder (GET, POST etc.), inte en default export.

Förklaring

Route Handlers i App Router (app/api/.../route.js) fungerar annorlunda än pages. De exporterar namngivna funktioner som matchar HTTP-metoder: GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS. En default export har ingen effekt och Next.js vet inte hur det ska hantera requests till den routen.

Felet är vanligast vid migrering från Pages Router, där API-routes använde en default export med ett req/res-mönster.

Vanliga orsaker

Default export i en route.js-fil i stället för named HTTP-metodexport. route.js exporterar en React-komponent av misstag.

Lösning

Exportera namngivna HTTP-metoder:

// Fel — Pages Router-stil, fungerar inte i app/
export default function handler(req, res) {
  res.json({ ok: true });
}

// Rätt — App Router Route Handler
export async function GET(request) {
  return Response.json({ ok: true });
}

export async function POST(request) {
  const body = await request.json();
  return Response.json({ received: body });
}