Skip to content

从服务器调用端点

端点可用于提供多种数据。此秘诀从页面的组件脚本调用服务器端点来显示问候语,而不需要额外的获取请求。

¥Endpoints can be used to serve many kinds of data. This recipe calls a server endpoint from a page’s component script to display a greeting, without requiring an additional fetch request.

¥Prerequisites

  • 启用了 SSR(输出:‘server’)的项目

¥Recipe

  1. Create an endpoint in a new file src/pages/api/hello.ts that returns some data:

    src/pages/api/hello.ts
    import type { APIRoute } from 'astro'
    export const GET: APIRoute = () => {
    return new Response(
    JSON.stringify({
    greeting: 'Hello',
    }),
    )
    }
  2. On any Astro page, import the GET() method from the endpoint. Call it with the Astro global to provide the request context, and use the response on the page:

    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>
Astro 中文网 - 粤ICP备13048890号