Query String Query String

馃 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);
});
Motores de templates Rest API's
comments powered by Disqus