Endpoints and RESTful API

Qwik City 能够使用 Endpoints 为您的应用程序创建 RESTful API。 Endpoint路由的创建方式与创建“页面”的方式相同,只是文件名应以 .ts 而不是 .tsx 结尾。 src/routes 目录中的 index.ts 仅用于数据,例如 json 响应,而 index.tsx 用于 HTML 页面。 无需将“endpoint”路由放入 src/routes 中的特定 api 目录。

“page”和“endpoints”除了一个区别外都是相同的:页面导出default component$()以渲染 HTML, 而endpoint仅导出 HTTP 请求和响应处理程序。 要了解如何定义页面组件,您可以 在此处阅读更多内容。 然而,endpoint路由仅用于响应数据的目的。

Example API endpoint route

// File: src/routes/product/[skuId]/index.ts
import type { RequestHandler } from '@builder.io/qwik-city';

interface ProductData {
  skuId: string;
  price: number;
  description: string;
}

export const onGet: RequestHandler<ProductData> = async ({ params }) => {
  // put your DB access here, we are hard coding a response for simplicity.
  return {
    skuId: params.skuId,
    price: 123.45,
    description: `Description for ${params.skuId}`,
  };
};

export const onPost: RequestHandler<ProductData> = async ({ params }) => { ... }
export const onPut: RequestHandler<ProductData> = async ({ params }) => { ... }
export const onPatch: RequestHandler<ProductData> = async ({ params }) => { ... }
export const onDelete: RequestHandler<ProductData> = async ({ params }) => { ... }
Made with ❤️ by