Вызов эндпоинтов с сервера
Эндпоинты могут использоваться для передачи многих типов данных. В этом рецепте вызывается серверный эндпоинт из скрипта компонента страницы для отображения приветствия без дополнительного запроса.
Необходимые условия
- Проект с включенным SSR (output: 'server')
Рецепт
Создайте эндпоинт в новом файле
src/pages/api/hello.ts, возвращающий некоторые данные:import type { APIRoute } from 'astro' export const GET: APIRoute = () => { return new Response( JSON.stringify({ greeting: 'Hello', }), ) }На любой странице Astro импортируйте метод
GET()из эндпоинта. Вызовите его с помощью глобального объектаAstro(EN), чтобы предоставить контекст запроса, и используйте ответ на странице:--- import { GET } from './api/hello.ts' let response = await GET(Astro) const data = await response.json() --- <h1>{data.greeting} world!</h1>