معاملات المسار
جزء من قسم أساسيات Express في رحلة Node.js على Coddy. الدرس 4 من 20.
سيحتوي صندوق الوصفات على وصفات كثيرة، ولن تنتهي إضافة مسار لكل وصفة أبدًا.
app.get('/weather/:city', (req, res) => {
res.send('Forecast for ' + req.params.city);
});جزء المسار الذي يبدأ بنقطتين رأسيتين هو مُعامل مسار: يطابق أي قيمة، ويضع Express هذه القيمة في req.params. يرسل GET /weather/oslo القيمة Forecast for oslo.
المُعامل دائمًا سلسلة نصية. يُرجع GET /rooms/12 القيمة '12'، وتكون '12' === 12 خاطئة، لذا حوّلها باستخدام Number(...) قبل مقارنتها بالأرقام.
عندما لا يكون الشيء المطلوب موجودًا، أجب برمز الحالة 404: يضبط res.status(404).send('No such city') الحالة، ثم يرسل الاستجابة.
التحدي
سهل- يُرجع
GET /recipes/:idعنوان الوصفة ذات ذلك المعرّف. - يُرجع المعرّف غير المعروف
404معNo such recipe.
أرسل GET /recipes/2، ثم GET /recipes/99.
جرّب بنفسك
import express from 'express';
import { recipes } from './data.js';
const app = express();
app.get('/', (req, res) => {
res.send('Welcome to Recipe Box');
});
// ترسل type('text') نصًا عاديًا، لذا يظهر كل عنوان في سطر مستقل.
app.get('/recipes', (req, res) => {
res.type('text').send(recipes.map((recipe) => recipe.title).join('\n'));
});
app.get('/about', (req, res) => {
res.send('Recipe Box collects family recipes.');
});
app.listen(3000, () => {
console.log('Recipe Box is running on port 3000');
});
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.