intermediate

Route handlers

Реализуйте HTTP handlers с разбором запроса, validation, формами ответов, кэшированием и ограничениями runtime.

Route handlers — HTTP endpoints в `app/**/route.ts` с функциями по методам (`GET`, `POST` и т.д.). Парсят запросы, enforce auth, вызывают сервисы и возвращают `Response` со статусом и cache headers.

					// app/api/posts/route.ts
export async function POST(request: Request) {
  const body = await request.json();
  const post = await createPost(body);
  return Response.json(post, { status: 201 });
}
				

Выбирайте Node или Edge runtime по нужным API. Webhooks и загрузка файлов часто требуют Node.

На интервью: handlers против Server Actions для мутаций и против внешних microservices по владению.

Типовые ошибки: нет guard по методам, невалидированный JSON, случайное кэширование `POST`.

Компромисс: colocated endpoints против разнесённого HTTP по сервисам.

Чеклист:

  • Экспортируйте только поддерживаемые HTTP methods.
  • Сначала валидация и auth.
  • Явные cache headers.
  • Runtime под требуемые API.