Pular para o conteúdo

Chame endpoints do servidor

Endpoints podem ser usados para prover vários tipos de dados. Essa receita chama um endpoint do servidor pelo script do componente da página para exibir uma saudação, sem precisar de uma requisição adicional.

Pré-requisitos

  • Um projeto com SSR (output: ‘server’) habilitado

Receita

  1. Crie um endpoint em um novo arquivo src/pages/api/ola.ts que retorna alguns dados:

    src/pages/api/ola.ts
    import type { APIRoute } from 'astro'
    export const GET: APIRoute = () => {
    return new Response(
    JSON.stringify({
    saudacoes: 'Olá',
    }),
    )
    }
  2. Em qualquer página Astro, importe o método GET() do endpoint. Chame-o com a global Astro para prover o contexto da requisição, e use a resposta na página:

    src/pages/index.astro
    ---
    import { GET } from './api/ola.ts'
    let resposta = await GET(Astro)
    const dados = await resposta.json()
    ---
    <h1>{dados.saudacoes} mundo!</h1>