La API de Astro
La API de Astro es el motor lógico que da control sobre las propiedades, rutas, cookies y permite crear endpoints que devuelven datos en JSON para conectar tu web con el mundo exterior o tus bases de datos.
Se divide principalmente en dos grandes bloques:
A) Las variables globales del Objeto Astro (En el Frontmatter)
En la sección de arriba entre los guiones --- (el frontmatter) de los componentes de Astro, se tiene acceso a un objeto global llamado Astro que brinda facilidades para leer el contexto de la web:
Astro.props: Para recibir datos desde fuera de tus componentes (los títulos de las tarjetas).Astro.request: Brinda información sobre la petición HTTP actual (la URL, los headers...).Astro.redirect(): Para mandar al usuario a otra página de forma automática (útil si hay un error o un cambio de sección).Astro.cookies: Para leer y escribir cookies de sesión de forma ultra directa.
B) Los Endpoints de la API (Servicios / Rutas de la API)
Astro no solo genera HTML. Si se creas un archivo con extensión .js o .ts dentro de la carpeta src/pages/ (por ejemplo: src/pages/api/juegos.js), Astro lo convierte automáticamente en un endpoint de backend.
Gracias a los Endpoints podemos conectarnos a bases de datos de SQL Server, MySQL o MongoDB, hacer consultas y devolver un archivo JSON puro. Tu propio front-end puede hacer un fetch() a esa ruta para pintar los datos dinámicamente.
Ejemplo:
// Ejemplo de un endpoint nativo de la API de Astro (src/pages/api/data.js)
export async function GET({ request }) {
return new Response(
JSON.stringify({ mensaje: "¡Hola desde la API interna de Astro!" }),
{ status: 200, headers: { "Content-Type": "application/json" } }
);
}