Salta ai contenuti

Richiama endpoint dal server

Gli endpoints possono essere utilizzati per fornire molti tipi di dati. Questa ricetta richiama un endpoint dal server dallo script del componente di una pagina per visualizzare un saluto, senza richiedere una richiesta fetch aggiuntiva.

  • Un progetto con SSR (output: ‘server’) abilitato
  1. Crea un endpoint in un nuovo file src/pages/api/hello.ts che restituisce alcuni dati:

    src/pages/api/hello.ts
    import type { APIRoute } from 'astro'
    export const GET: APIRoute = () => {
    return new Response(
    JSON.stringify({
    greeting: 'Hello',
    }),
    )
    }
  2. Su qualunque pagina Astro, importa il metodo GET() dall’endpoint. Chiamalo con il Astro global per fornire il contesto della richiesta, e usa la risposta sulla pagina:

    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>