Vanlig App router feil fra NextJS “utviklere”
Jeg må beklage i forkant men dette blir en liten ensidig klaging fra min side…
Som en del av mitt engasjement i felleskapet, svarer jeg på en del spørsmål på StackOverflow og, den siste uken, har jeg svart på samme spørsmål 6 ganger; stilt på litt forskjellige måter hver gang.
“Mitt API fungerer ikke i NextJS 14 og gir HTTP 405” med noen eksempel på kode som ligner:
export default async function handler(req, res) { //... }
Dette i en fil kalt src/app/api/something.js
Så, i dag, tenkte jeg at jeg må si fra…
Folkens: les dokumentasjon!
Det er så utrolig at noe så enkelt som filnavn og function definition er oversett av så mange. I den ny App router, skal filen hete route.js|ts
og signatur skal være en (eller flere) av følgende:
export async function GET(request: Request) {} export async function HEAD(request: Request) {} export async function POST(request: Request) {} export async function PUT(request: Request) {} export async function DELETE(request: Request) {} export async function PATCH(request: Request) {} export async function OPTIONS(request: Request) {}
Da fikk jeg sagt det.
Misforstår meg rett da. Jeg har selv stilt spørsmål der svaret er helt opplagt så ingenting galt å spørre noe når man ikke vet og alle fikk svar fra meg (eller andre) på StackOverflow ;)