ملف 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
، وهو كائن يحتوي على معاملات المسار الديناميكي للمسار الحالي.
مثال | URL | params |
---|---|---|
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 | تم تقديم معالجات المسارات. |