DEV Community

Cover image for ¿Como convertir un objeto en query strings?
Lino Mattos
Lino Mattos

Posted on

¿Como convertir un objeto en query strings?

Cuando hacemos consultas a una API, puede que queramos almacenar las query strings en un objeto para posteriormente ser usadas en la URL de la consulta en la API.

Por ejemplo tenemos esta url de la api de TMDB:

https://api.themoviedb.org/3/find/21?api_key=qe879fds9a&language=en-US&external_source=imdb_id
Enter fullscreen mode Exit fullscreen mode

Aquí tenemos 3 query string:

  • api_key
  • language
  • external_source

Podríamos hacer lo siguiente para recibir las query strings:

`https://api.themoviedb.org/3/find/21?api_key=${api_key}&language=${language}&external_source=${external_source}`
Enter fullscreen mode Exit fullscreen mode

Esta es una manera válida pero si la url base es extensa y manejamos demasiadas queries se hará mas difícil de mantener y escalar. Podemos solucionarlo almacenando las queries en un objeto.
Entonces, ¿como convertimos un objeto en query strings?

Pues, utilizando un módulo nativo de nodejs llamado querystring.

const querystring = require('querystring')

let queries = {
api_key: "qe879fds9a",
language: "en-US",
external_source: "imdb_id"
}

const base_url = "https://api.themoviedb.org/3/find/21?"
const queryparams = querystring.stringify(queries)
console.log(queryparams) \\api_key=qe879fds9a&language=en-US&external_source=imdb_id

const URL = `${base_url}${queryparams}`
console.log(URL) \\"https://api.themoviedb.org/3/find/21?api_key=qe879fds9a&language=en-US&external_source=imdb_id"

Enter fullscreen mode Exit fullscreen mode

Ahora tenemos un código mas escalable. Pudiendo manejar toda la lógica de las queries desde este objeto.

Top comments (0)