@albertdz/consumer
v2.3.0
Published
Consume third-party APIs through axios
Downloads
11
Readme
Consumer
Configurar endpoints
- Crear archivo
consumer-setup.js
en la raiz del proyecto - Agregar el siguiente código
const setup = {
baseUrl: 'https://restcountries.com',
headers: {
'Content-Type': 'application/json',
},
methods: {
countries: {
url: '/v3.1/all',
method: 'GET',
},
getCountry: {
url: '/v3.1/name/{name}',
method: 'GET',
args: ['name']
},
}
};
module.exports = setup;
- Modificar
baseUrl
por la URL de la API a consumir - Agregar las cabeceras necesarias en
headers
- En
methods
agregar los métodos a consultar, puede usarGET POST PUT PATCH DELETE
- Ahora puede agregar una
baseUrl
a cada método
Realizar consulta
- Importar
import { request, getStatus, isSyncing, subscribe, unsubscribe } from '@albertdz/consumer'
- Requerir
const { request, getStatus, isSyncing, subscribe, unsubscribe } = require('@albertdz/consumer')
request
Función que realiza la consultagetStatus
Función para obtener el estado de la consulta, inicia enoffline
, los demas valores sonpending error success
isSyncing
Función para saber si la consulta esta en progreso, es de tipoboolean
subscribe
Se subscribe a un eventostatus syncing
unsubscribe
Se da de baja a un eventostatus syncing
- Realizar solicitud
const { request } = require('@albertdz/consumer')
const data = { name: 'Myanmar' };
const queryParams = { fullText: true };
const response = await request('getCountry', { data, queryParams });
Data
: Valores configurados enargs
queryParams
: Valores para consultas avanzandas. Ejemplo:/name?fullText=true
headers
: Cabeceras personalizadas para las consultas. Ejemplo'Authorization': 'Bearer {token}'
bearer
: Valor para la cabeceraAuthorization
en caso de no pasarlo enheaders
baseUrl
: Realiza una petición a una baseUrl diferente a la configurada en elconsumer-setup.js