Bird
Raised Fist0
Expressframework~5 mins

Request body transformation in Express - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is request body transformation in Express?
It means changing or processing the data sent by the client in the request body before using it in your app.
Click to reveal answer
beginner
Which middleware is commonly used in Express to parse JSON request bodies?
express.json() middleware parses incoming JSON request bodies and makes the data available on req.body.
Click to reveal answer
intermediate
How can you modify the request body data in Express before using it?
You can write a middleware function that reads req.body, changes or adds properties, then calls next() to continue.
Click to reveal answer
beginner
Why might you want to transform the request body in an Express app?
To clean data, add default values, convert formats, or validate input before your app uses it.
Click to reveal answer
intermediate
Show a simple example of middleware that adds a timestamp to the request body.
function addTimestamp(req, res, next) {
  if (!req.body) req.body = {};
  req.body.timestamp = new Date().toISOString();
  next();
}
Click to reveal answer
Which Express middleware parses JSON request bodies?
Aexpress.json()
Bexpress.urlencoded()
Cexpress.static()
Dexpress.raw()
Where is the transformed request body data stored in Express?
Areq.body
Breq.params
Creq.query
Dreq.headers
What must you call in middleware after modifying req.body to continue processing?
Areq.next()
Bres.send()
Cres.next()
Dnext()
Why transform request body data in Express?
ATo change HTTP methods
BTo clean or prepare data before use
CTo modify response headers
DTo serve static files
Which of these is NOT a typical request body transformation?
AAdding default values
BValidating input
CChanging URL paths
DConverting data formats
Explain how to use middleware in Express to transform the request body data.
Think about how middleware works in Express and how you can change req.body.
You got /4 concepts.
    Describe why transforming the request body is useful in a web app.
    Consider what happens if the app uses raw or incorrect data.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of request body transformation in Express?
      easy
      A. To send the response back to the client
      B. To handle errors in the server
      C. To change incoming data into a more useful format before using it
      D. To set HTTP headers for the response

      Solution

      1. Step 1: Understand request body transformation

        Request body transformation modifies the data received from the client to a better format for the app.
      2. Step 2: Identify the main purpose

        This process happens after parsing and helps clean or convert data before use.
      3. Final Answer:

        To change incoming data into a more useful format before using it -> Option C
      4. Quick Check:

        Request body transformation = change data format [OK]
      Hint: Think: transform means change data format before use [OK]
      Common Mistakes:
      • Confusing transformation with sending response
      • Mixing transformation with error handling
      • Thinking it sets HTTP headers
      2. Which Express middleware is commonly used to parse JSON request bodies before transformation?
      easy
      A. express.urlencoded()
      B. express.static()
      C. express.raw()
      D. express.json()

      Solution

      1. Step 1: Identify JSON parsing middleware

        express.json() parses incoming JSON request bodies into JavaScript objects.
      2. Step 2: Confirm other options

        express.urlencoded() parses URL-encoded data, express.static() serves files, express.raw() parses raw buffer data.
      3. Final Answer:

        express.json() -> Option D
      4. Quick Check:

        JSON body parser = express.json() [OK]
      Hint: Use express.json() to parse JSON bodies before transforming [OK]
      Common Mistakes:
      • Using express.urlencoded() for JSON data
      • Confusing express.static() as parser
      • Not parsing body before transformation
      3. Given this Express code, what will be the value of req.body.age after transformation?
      app.use(express.json());
      app.post('/user', (req, res) => {
        req.body.age = Number(req.body.age);
        res.send(req.body);
      });
      If the client sends JSON {"age": "30"}?
      medium
      A. 30 (number)
      B. "30" (string)
      C. NaN
      D. undefined

      Solution

      1. Step 1: Parse JSON body

        express.json() converts the JSON string {"age": "30"} into an object with age as string "30".
      2. Step 2: Transform age to number

        req.body.age = Number(req.body.age) converts the string "30" to the number 30.
      3. Final Answer:

        30 (number) -> Option A
      4. Quick Check:

        Number("30") = 30 [OK]
      Hint: Number() converts string digits to number type [OK]
      Common Mistakes:
      • Assuming age stays a string
      • Thinking Number("30") returns NaN
      • Confusing undefined with missing property
      4. Identify the error in this Express request body transformation code:
      app.use(express.json());
      app.post('/data', (req, res) => {
        req.body.count = parseInt(req.body.count);
        if (!req.body.count) {
          res.status(400).send('Count required');
        }
        res.send(req.body);
      });
      medium
      A. parseInt should be replaced with Number
      B. The check '!req.body.count' fails when count is 0
      C. express.json() middleware is missing
      D. res.send() should be called before res.status()

      Solution

      1. Step 1: Understand parseInt and check

        parseInt converts strings to numbers; 0 is falsy in JavaScript.
      2. Step 2: Analyze the if condition

        The condition '!req.body.count' treats 0 as false, wrongly triggering the error for count=0.
      3. Final Answer:

        The check '!req.body.count' fails when count is 0 -> Option B
      4. Quick Check:

        Falsy check fails for 0 count [OK]
      Hint: Check for 0 explicitly, not with '!value' [OK]
      Common Mistakes:
      • Assuming parseInt is wrong here
      • Missing express.json() middleware
      • Calling res.send before res.status
      5. You want to transform an incoming request body to remove any properties with empty strings and convert all numeric strings to numbers. Which code snippet correctly performs this transformation in Express?
      hard
      A. app.use(express.json()); app.post('/transform', (req, res) => { for (const key in req.body) { if (req.body[key] === '') delete req.body[key]; else if (!isNaN(req.body[key])) req.body[key] = Number(req.body[key]); } res.send(req.body); });
      B. app.use(express.json()); app.post('/transform', (req, res) => { Object.keys(req.body).forEach(key => { if (req.body[key] === '') req.body[key] = null; else if (typeof req.body[key] === 'string') req.body[key] = parseInt(req.body[key]); }); res.send(req.body); });
      C. app.use(express.urlencoded()); app.post('/transform', (req, res) => { for (const key in req.body) { if (req.body[key] === '') delete req.body[key]; else if (!isNaN(req.body[key])) req.body[key] = Number(req.body[key]); } res.send(req.body); });
      D. app.use(express.json()); app.post('/transform', (req, res) => { for (const key in req.body) { if (req.body[key] === '') req.body[key] = undefined; else if (isNaN(req.body[key])) req.body[key] = Number(req.body[key]); } res.send(req.body); });

      Solution

      1. Step 1: Check middleware and iteration

        express.json() is needed to parse JSON bodies; for..in loops over keys correctly.
      2. Step 2: Validate transformation logic

        app.use(express.json()); app.post('/transform', (req, res) => { for (const key in req.body) { if (req.body[key] === '') delete req.body[key]; else if (!isNaN(req.body[key])) req.body[key] = Number(req.body[key]); } res.send(req.body); }); deletes keys with empty strings and converts numeric strings to numbers using !isNaN check.
      3. Step 3: Compare other options

        app.use(express.json()); app.post('/transform', (req, res) => { Object.keys(req.body).forEach(key => { if (req.body[key] === '') req.body[key] = null; else if (typeof req.body[key] === 'string') req.body[key] = parseInt(req.body[key]); }); res.send(req.body); }); sets empty strings to null and always parses strings with parseInt (may convert non-numeric wrongly). app.use(express.urlencoded()); app.post('/transform', (req, res) => { for (const key in req.body) { if (req.body[key] === '') delete req.body[key]; else if (!isNaN(req.body[key])) req.body[key] = Number(req.body[key]); } res.send(req.body); }); uses express.urlencoded() which is wrong for JSON. app.use(express.json()); app.post('/transform', (req, res) => { for (const key in req.body) { if (req.body[key] === '') req.body[key] = undefined; else if (isNaN(req.body[key])) req.body[key] = Number(req.body[key]); } res.send(req.body); }); wrongly converts non-numeric strings to numbers.
      4. Final Answer:

        app.use(express.json()); app.post('/transform', (req, res) => { for (const key in req.body) { if (req.body[key] === '') delete req.body[key]; else if (!isNaN(req.body[key])) req.body[key] = Number(req.body[key]); } res.send(req.body); }); -> Option A
      5. Quick Check:

        Delete empty and convert numeric strings = app.use(express.json()); app.post('/transform', (req, res) => { for (const key in req.body) { if (req.body[key] === '') delete req.body[key]; else if (!isNaN(req.body[key])) req.body[key] = Number(req.body[key]); } res.send(req.body); }); [OK]
      Hint: Delete empty strings, convert numeric strings with !isNaN check [OK]
      Common Mistakes:
      • Using wrong middleware for JSON
      • Setting empty strings to null instead of deleting
      • Converting non-numeric strings to numbers
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard