# API Routes

> Next.js API Routes - Route handlers, middleware, edge runtime

- Skill: `majiayu000/api-routes` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/api-routes`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/api-routes/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Web & Frontend
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/api-routes

---


# Api Routes Skill

## Overview

Build API endpoints with Next.js Route Handlers and middleware.

## Capabilities

- **Route Handlers**: app/api/route.ts files
- **HTTP Methods**: GET, POST, PUT, DELETE, PATCH
- **Request/Response**: Web API standard
- **Middleware**: Edge runtime processing
- **Dynamic Routes**: [param] patterns

## Examples

```ts
// app/api/users/route.ts
import { NextResponse } from 'next/server'

export async function GET() {
  const users = await db.users.findMany()
  return NextResponse.json(users)
}

export async function POST(request: Request) {
  const body = await request.json()
  const user = await db.users.create(body)
  return NextResponse.json(user, { status: 201 })
}

// app/api/users/[id]/route.ts
export async function GET(
  request: Request,
  { params }: { params: { id: string } }
) {
  const user = await db.users.findById(params.id)
  return NextResponse.json(user)
}
```

## Middleware Example

```ts
// middleware.ts
export function middleware(request: NextRequest) {
  const token = request.cookies.get('token')
  if (!token) {
    return NextResponse.redirect(new URL('/login', request.url))
  }
}
```


