DEV Community

Tahsin Abrar
Tahsin Abrar

Posted on

Comprehensive user data from the API,

This application will retrieve comprehensive user data from the API, diligently process it, and extract specific fields like usernames and passwords. The processed data is then served through the application's endpoints. The ensuing example showcases a practical implementation that encapsulates these operations seamlessly. By following the steps provided, you'll be able to comprehend how the Express server efficiently retrieves, processes, and serves the refined user data. Please note that while this demonstration focuses on the essence of data manipulation,

1. Set Up Your Project:

Create a new directory for your Express.js project and initialize it using npm or yarn:

   mkdir express-api-processing
   cd express-api-processing
   npm init -y
Enter fullscreen mode Exit fullscreen mode

2. Install Dependencies:

Install the necessary packages: express, axios.

   npm install express axios
Enter fullscreen mode Exit fullscreen mode

3. Create the Server:

Create an index.js file to set up your Express server.

   const express = require('express');
   const axios = require('axios');

   const app = express();
   const port = process.env.PORT || 3000;

   // Define the API URL
   const apiURL = 'https://api.example.com/user-data';

   // CORS middleware to allow cross-origin requests
   app.use((req, res, next) => {
     res.setHeader('Access-Control-Allow-Origin', '*');
     res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS');
     res.setHeader('Access-Control-Allow-Headers', 'Content-Type');
     next();
   });

   app.get('/users', async (req, res) => {
     try {
       // Fetch user data from the API
       const response = await axios.get(apiURL);
       const userData = response.data;

       // Process the user data to retrieve only username and password
       const processedData = userData.map(user => ({
         username: user.username,
         password: user.password
       }));

       // Send the processed data as JSON
       res.json(processedData);
     } catch (error) {
       console.error('Error fetching user data:', error);
       res.status(500).json({ message: 'Internal server error' });
     }
   });

   app.listen(port, () => {
     console.log(`Server is running on port ${port}`);
   });
Enter fullscreen mode Exit fullscreen mode

4. Run the Server:

Start your Express server:

   node index.js
Enter fullscreen mode Exit fullscreen mode

Now, when you access http://localhost:3000/users, your Express server will fetch the user data from the API, process it to retrieve only the username and password, and then serve this processed data in JSON format.

Please note that in a production environment, you should add more error handling, data validation, and potentially implement security measures depending on the sensitivity of the data being processed and served.

Top comments (0)