Advanced REST API Development with Express

Topic Outline (30-min)

  1. Dynamic Routes:

    • Using Route Parameters:

      • Define routes with dynamic placeholders.

      • Example:

        javascript코드 복사app.get('/users/:id', (req, res) => {
            res.send(`User ID: ${req.params.id}`);
        });
    • Handling Multiple Parameters:

      • Example:

        javascript코드 복사app.get('/users/:userId/posts/:postId', (req, res) => {
            const { userId, postId } = req.params;
            res.send(`User ID: ${userId}, Post ID: ${postId}`);
        });
  2. Working with JSON:

    • Parsing JSON Request Bodies:

      • Use Express’s json() middleware:

        javascript코드 복사app.use(express.json());
        app.post('/data', (req, res) => {
            console.log(req.body);
            res.send('Data received');
        });
    • Sending JSON Responses:

      • Send structured JSON responses:

        javascript코드 복사app.get('/info', (req, res) => {
            res.json({ message: 'This is JSON data', timestamp: Date.now() });
        });
  3. Error Handling:

    • Middleware for Error Handling:

      • Define a centralized error-handling middleware:

        javascript코드 복사app.use((err, req, res, next) => {
            console.error(err.stack);
            res.status(500).send('Internal Server Error');
        });
    • Catching and Responding to Invalid Routes:

      • Handle 404 errors:

        javascript코드 복사app.use((req, res) => {
            res.status(404).send('Route not found');
        });

Last updated