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
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}`
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"
Ahora tenemos un código mas escalable. Pudiendo manejar toda la lógica de las queries desde este objeto.
Top comments (0)