Para utilizar APIs desplegadas en local, disponemos de esta guía: Conexión a las APIs locales |
Para hacer las llamadas al backend utilizaremos el paquete Axios. En el Portal de Servicios tenemos el archivo api.js, que define apiRequest, que será lo que utilicemos para hacer nuestras llamadas, definido así:
const apiRequest = ({
method = 'GET',
data = {},
url,
root = false,
responseType = 'json',
}) => axios({
url: `${root ? '' : environmentURL || ''}${url}`,
method,
data,
responseType,
}).catch(
(error) => {
throw error;
},
); |
Como vemos, por defecto hace un GET, y se espera un json como respuesta.
Para definir nuestras llamadas a las apis, nos crearemos un único archivo en cada servicio, llamado servicio.api.js, siendo servicio algo indicativo de nuestro servicio. Por ejemplo:
import { apiRequest } from '@/api';
const moduleBaseApiURL = '/historico/guiadocente/api/';
const apiVersion = 'v1';
const endpoints = {
pdf: `${moduleBaseApiURL}public/2/getpdf/`,
search: `${moduleBaseApiURL}public/${apiVersion}/search/`,
select: `${moduleBaseApiURL}public/${apiVersion}/select/`,
};
const syllabusApi = {
endpoints: () => endpoints,
searchSyllabus: (text) => {
const url = `${endpoints.search}${text}`;
return apiRequest({ url });
},
select: (type, id) => {
const url = `${endpoints.select}${type}/${id}`;
return apiRequest({ url });
},
};
export default syllabusApi;
|
Debemos seguir siempre esta estructura: