🥇 Query String
🍿 Petición GET
Cuando el navegador realiza una petición Get, esta petición luce algo así…
GET /?nombre=Josue&apellido=Pier
Host: www.dominio-de-la-app.com
Cookie: usuario=josue;departamento=ventas
🍿 Petición POST
Cuando realizamos una petición mediante Post, esta petición luce algo así…
POST
Host: www.dominio-de-la-app.com
Content-Type: application/x-www-form-urlencoded
Cookie: usuario=josue;departamento=ventas
nombre=Josue&apellido=Pier
GET a diferencia de POST mantiene el query string nombre=Josue&apellido=Pier
visible, pues forma parte del url.
🍿 Petición JSON
Cuando realizamos una petición que contine JSON, este forma parte del cuerpo del mensaje (body).
POST/HTTP/1.1
Host:www.dominio-de-la-app.com
Content-Type: application/json
Cookie: usuario=josue;departamento=ventas
{
"username": "josedoc",
"password": "nostruba"
}
🍿 ¿Cómo obtener valores enviados mediante una petición en express?
En cada uno de estos casos necesitamos un middleware, que pueda extraer el contenido de los datos.
🥤 Obtener variables GET en express
// Retraer parametro del query string (en este caso tenemos que
// proporcionar en el url el query string con el valor de cat)
// /?cat=nombreCategoria
app.get('/matricula/:id', function(peticion, respuesta) {
respuesta.render('matricula.ejs', {
id : peticion.params.id,
cat : peticion.query.cat
});
});
🥤 Obtener variables POST en express
Cuando deseamos parsear el body, requerimos un nuevo middleware que pueda realizar ese trabajo. Instalador body-parser.
$ npm install body-parser --save
Una vez instalado podemos hacer uso de el como módulo.
// iniciar bodyparser para variables post
var urlencodedParser = bodyParser.urlencoded({
extended: false
});
// ruta para crear una nueva matricula mediante post
app.post('/matriculaPost', urlencodedParser, function(peticion, respuesta) {
respuesta.send('Recibido!');
console.log(peticion.body.nombre);
console.log(peticion.body.matricula);
});
Los valores retraídos de variables post, se imprimirán en la consola de node o nodemon.
Para realizar pruebas enviando datos de las distintas formas, se puede hacer uso de herramientas como POSTMAN.
🥤 Obtener variables de una petición JSON
Al igual que las variables post, las variables json se pueden obtener utilizando body-parser.
// iniciar body parser para variables json
var jsonParser = bodyParser.json();
// ruta para crear una nueva matricula mediante json
app.post('/matriculaJson', jsonParser, function (peticion, respuesta) {
respuesta.send('Recibido!');
console.log(peticion.body.nombre);
console.log(peticion.body.matricula);
});