Aller au contenu

Appeler des points de terminaison à partir du serveur

Les points de terminaison peuvent être utilisés pour servir de nombreux types de données. Cette recette appelle un point de terminaison du serveur à partir du script de composant d’une page pour afficher un message d’accueil, sans nécessiter de demande de récupération supplémentaire.

  • Un projet avec SSR (output : ‘server’) activé
  1. Créer un endpoint dans un nouveau fichier src/pages/api/hello.ts qui retourne des données :

    src/pages/api/hello.ts
    import type { APIRoute } from 'astro'
    export const GET: APIRoute = () => {
    return new Response(
    JSON.stringify({
    greeting: 'Hello',
    }),
    )
    }
  2. Sur n’importe quelle page Astro, importez la méthode GET() du point de terminaison. Appelez-la avec le Astro global pour fournir le contexte de la requête, et utilisez la réponse sur la page :

    src/pages/index.astro
    ---
    import { GET } from './api/hello.ts'
    let response = await GET(Astro)
    const data = await response.json()
    ---
    <h1>{data.greeting} world!</h1>