ملف route.js

تسمح لك معالجات المسارات (Route Handlers) بإنشاء معالجات طلبات مخصصة لمسار معين باستخدام واجهات برمجة التطبيقات Request و Response الخاصة بالويب.

طرق HTTP

يسمح لك ملف المسار بإنشاء معالجات طلبات مخصصة لمسار معين. الطرق التالية من HTTP methods مدعومة: GET, POST, PUT, PATCH, DELETE, HEAD, و OPTIONS.

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) {}

// إذا لم يتم تعريف `OPTIONS`، فإن Next.js ستنفذ `OPTIONS` تلقائيًا وتعيين رأس الاستجابة `Allow` المناسب بناءً على الطرق الأخرى المعرفة في معالج المسار.
export async function OPTIONS(request: Request) {}
export async function GET(request) {}

export async function HEAD(request) {}

export async function POST(request) {}

export async function PUT(request) {}

export async function DELETE(request) {}

export async function PATCH(request) {}

// إذا لم يتم تعريف `OPTIONS`، فإن Next.js ستنفذ `OPTIONS` تلقائيًا وتعيين رأس الاستجابة `Allow` المناسب بناءً على الطرق الأخرى المعرفة في معالج المسار.
export async function OPTIONS(request) {}

معلومة مفيدة: معالجات المسارات متاحة فقط داخل دليل app. لا تحتاج إلى استخدام مسارات API (pages) ومعالجات المسارات (app) معًا، حيث يجب أن تكون معالجات المسارات قادرة على التعامل مع جميع حالات الاستخدام.

المعاملات

request (اختياري)

كائن request هو كائن NextRequest، وهو امتداد لواجهة برمجة التطبيقات Request الخاصة بالويب. يمنحك NextRequest تحكمًا أكبر في الطلب الوارد، بما في ذلك الوصول السهل إلى cookies وكائن URL ممتد ومحلل nextUrl.

context (اختياري)

type Params = {
  team: string
}

export async function GET(request: Request, context: { params: Params }) {
  const team = context.params.team // '1'
}

// حدد نوع params وفقًا لمعاملات المسار الخاصة بك (انظر الجدول أدناه)

export async function GET(request, context: { params }) {
  const team = context.params.team // '1'
}

حاليًا، القيمة الوحيدة لـ context هي params، وهو كائن يحتوي على معاملات المسار الديناميكي للمسار الحالي.

مثالURLparams
app/dashboard/[team]/route.js/dashboard/1{ team: '1' }
app/shop/[tag]/[item]/route.js/shop/1/2{ tag: '1', item: '2' }
app/blog/[...slug]/route.js/blog/1/2{ slug: ['1', '2'] }

NextResponse

يمكن لمعالجات المسارات توسيع واجهة برمجة التطبيقات Response الخاصة بالويب عن طريق إرجاع كائن NextResponse. هذا يسمح لك بسهولة تعيين ملفات تعريف الارتباط (cookies) والعناوين وإعادة التوجيه وإعادة الكتابة. عرض مرجع API.

سجل الإصدارات

الإصدارالتغييرات
v13.2.0تم تقديم معالجات المسارات.