컨텐츠로 이동

서버에서 엔드포인트 호출

엔드포인트는 다양한 종류의 데이터를 제공하는 데 사용될 수 있습니다. 이 레시피는 추가 fetch 요청 없이 페이지의 컴포넌트 스크립트에서 서버 엔드포인트를 호출하여 인사말을 표시합니다.

  • SSR (output: ‘server’)이 활성화된 프로젝트가 필요합니다.
  1. 일부 데이터를 반환하는 새 파일 src/pages/api/hello.ts에 엔드포인트를 생성합니다.

    src/pages/api/hello.ts
    import type { APIRoute } from 'astro'
    export const GET: APIRoute = () => {
    return new Response(
    JSON.stringify({
    greeting: 'Hello',
    }),
    )
    }
  2. Astro 페이지의 엔드포인트에서 GET() 메서드를 가져옵니다. 요청 컨텍스트를 제공하기 위해 Astro global을 인자로 전달하여 이 메서드를 호출합니다. 그러면 이 응답을 페이지에서 사용할 수 있습니다.

    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>