Skip to content

Event handlers

Filesystem routing

md
api/
test.ts <-- /api/test
routes/
hello.get.ts <-- GET /hello
hello.post.ts <-- POST /hello
nitro.config.ts

Simple Routes

ts
export default defineEventHandler(() => {
  return { hello: 'API' }
})

Route with params

ts
export default defineEventHandler(event => {
  const name = getRouterParam(event, 'name')

  return `Hello ${name}!`
})

Multiple params

ts
export default defineEventHandler(event => {
  const name = getRouterParam(event, 'name')
  const age = getRouterParam(event, 'age')

  return `Hello ${name}! You are ${age} years old.`
})

Catch all params

ts
export default defineEventHandler(event => {
  const name = getRouterParam(event, 'name')

  return `Hello ${name}!`
})

Environment specific handlers

สามารถกำหนดให้เส้นทาง (route) ใดๆ รวมอยู่ในการ build เฉพาะบางประเภทโดยการเพิ่ม suffix เช่น .dev, .prod หรือ .prerender เข้าไปที่ชื่อไฟล์ ตัวอย่างเช่น: routes/test.get.dev.ts หรือ routes/test.get.prod.ts

Middleware

Middleware ทำให้สามารถแก้ไข request ก่อน process => วิธีใช้คือใช้ภายในโฟลเดอร์ middleware/

md
routes/
hello.ts
middleware/
auth.ts
logger.ts
...
nitro.config.ts

Route Rules

Released under the MIT License