Вызов эндпоинтов с сервера
Эндпоинты могут использоваться для передачи многих типов данных. В этом рецепте вызывается серверный эндпоинт из скрипта компонента страницы для отображения приветствия без дополнительного запроса.
Необходимые условия
Заголовок раздела Необходимые условия- Проект с включенным SSR (output: ‘server’)
Рецепт
Заголовок раздела Рецепт-
Создайте эндпоинт в новом файле
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',}),)} -
На любой странице Astro импортируйте метод
GET()
из эндпоинта. Вызовите его с помощью глобального объектаAstro
, чтобы предоставить контекст запроса, и используйте ответ на странице: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>