馃敟 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);
});