Saltearse al contenido

Llama endpoints desde el servidor

Los endpoints pueden ser usados para servir cualquier tipo de dato. Esta receta llama un endpoints del servidor desde el script del componente de una página para mostrar un saludo, sin requerir una petición fetch adicional.

  • Un proyecto con SSR (output: ‘server’) habilitado
  1. Crea un endpoint en un archivo nuevo src/pages/api/hello.ts que retorne algo de data:
src/pages/api/hello.ts
import type { APIRoute } from 'astro'
export const GET: APIRoute = () => {
return new Response(
JSON.stringify({
greeting: 'Hola',
}),
)
}
  1. En cualquier página de Astro, importa el método GET() desde el endpoint. Llámalo con Astro global para dar el contexto de la petición, y usa la respuesta en la página:
src/pages/index.astro
---
import { GET } from './api/hello.ts'
let response = await GET(Astro)
const data = await response.json()
---
<h1>{data.greeting} mundo!</h1>