En Vue 3.5, la interacción HTTP con APIs de backend es fundamental para desarrollar aplicaciones web dinámicas y eficientes. En este módulo, aprenderás a utilizar las capacidades de Vue 3.5 para realizar peticiones HTTP y manejar respuestas de APIs de backend.
Instalación de Axios
Para interactuar con APIs de backend, utilizaremos Axios, una biblioteca popular para realizar peticiones HTTP. Primero, instala Axios en tu proyecto Vue 3.5:
npm install axios
Configuración inicial de Axios
Después de instalar Axios, es importante configurarlo correctamente. Puedes hacerlo en un archivo de configuración, por ejemplo, src/axios.js
:
import axios from 'axios';
const instance = axios.create({
baseURL: 'https://api.ejemplo.com',
timeout: 1000,
headers: {'X-Custom-Header': 'foobar'}
});
export default instance;
Realizar una petición GET
Guarda tu progreso
Inicia sesión para no perder tu progreso y accede a miles de tutoriales, ejercicios prácticos y nuestro asistente de IA.
Más de 25.000 desarrolladores ya confían en CertiDevs
Para realizar una petición GET, puedes utilizar el método get
de Axios dentro de un componente Vue. Aquí tienes un ejemplo sencillo:
<template>
<div>
<h1>Datos del usuario</h1>
<p v-if="error">{{ error }}</p>
<p v-else>{{ userData }}</p>
</div>
</template>
<script>
import axios from '../axios';
export default {
data() {
return {
userData: null,
error: null
};
},
async created() {
try {
const response = await axios.get('/usuario/1');
this.userData = response.data;
} catch (error) {
this.error = 'Error al obtener los datos del usuario';
}
}
};
</script>
Enviar datos con una petición POST
Para enviar datos a una API de backend, utiliza el método post
de Axios. Aquí tienes un ejemplo de cómo enviar datos de un formulario:
<template>
<div>
<h1>Enviar datos del usuario</h1>
<form @submit.prevent="submitForm">
<input v-model="user.name" placeholder="Nombre" />
<input v-model="user.email" placeholder="Email" />
<button type="submit">Enviar</button>
</form>
<p v-if="error">{{ error }}</p>
<p v-else>{{ successMessage }}</p>
</div>
</template>
<script>
import axios from '../axios';
export default {
data() {
return {
user: {
name: '',
email: ''
},
successMessage: null,
error: null
};
},
methods: {
async submitForm() {
try {
const response = await axios.post('/usuario', this.user);
this.successMessage = 'Datos enviados correctamente';
} catch (error) {
this.error = 'Error al enviar los datos';
}
}
}
};
</script>
Manejo de errores
El manejo de errores es crucial cuando se interactúa con APIs de backend. Axios proporciona varios métodos para capturar y manejar errores. Aquí tienes un ejemplo:
<template>
<div>
<h1>Datos del usuario con manejo de errores</h1>
<p v-if="error">{{ error }}</p>
<p v-else>{{ userData }}</p>
</div>
</template>
<script>
import axios from '../axios';
export default {
data() {
return {
userData: null,
error: null
};
},
async created() {
try {
const response = await axios.get('/usuario/1');
this.userData = response.data;
} catch (error) {
if (error.response) {
// El servidor respondió con un código de estado fuera del rango 2xx
this.error = `Error del servidor: ${error.response.status}`;
} else if (error.request) {
// La petición fue hecha pero no se recibió respuesta
this.error = 'No se recibió respuesta del servidor';
} else {
// Algo pasó al configurar la petición
this.error = 'Error al configurar la petición';
}
}
}
};
</script>
Con estas técnicas, puedes manejar la interacción HTTP con APIs de backend de manera efectiva en tus aplicaciones Vue 3.5.
Completa Vuejs y certifícate
Únete a nuestra plataforma y accede a miles de tutoriales, ejercicios prácticos, proyectos reales y nuestro asistente de IA personalizado para acelerar tu aprendizaje.
Asistente IA
Resuelve dudas al instante
Ejercicios
Practica con proyectos reales
Certificados
Valida tus conocimientos
Más de 25.000 desarrolladores ya se han certificado con CertiDevs