Em uma aplicação Node.js usando o framework Express...
Imagem de fundo

Em uma aplicação Node.js usando o framework Express...

Em uma aplicação Node.js usando o framework Express, existem três formas principais de capturar dados de uma requisição: req.body, req.params, e req.query. Cada uma dessas formas possui um uso específico. Considere o seguinte código que implementa uma rota de atualização de usuário.

var express = require('express');

var app = express();

app.put('/users/:id', (req, res) => {

const userId = req.params.id;

const userName = req.body.name;

const isActive = req.query.active;

if (!userId || !userName) {

return res.status(400).send('Missing required parameters.');

}

res.send(`

User ${userId} updated.

Name: ${userName},

Active: ${isActive}

`);

});

app.listen(3000);

Com base no código acima, qual das afirmativas abaixo descreve corretamente como os diferentes tipos de parâmetros devem ser usados para obter o comportamento esperado?


A

O parâmetro req.body é usado incorretamente, pois ele não deveria ser utilizado para capturar o nome do usuário em uma requisição PUT. O dado deveria ser enviado como parte da query string.


B

O parâmetro req.params deve ser evitado, pois é menos seguro do que req.body. O ID do usuário deve ser enviado no corpo da requisição para garantir a integridade dos dados.


C

O código está correto, pois req.params captura o ID do usuário da rota, req.body obtém os dados enviados no corpo da requisição (como o nome), e req.query obtém os parâmetros geralmente opcionais, como o status active, enviado na query string.


D

O código deveria enviar todos os parâmetros no corpo da requisição para maior consistência. Usar req.params e req.query introduz complexidade desnecessária e pode dificultar a manutenção.