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 }) => { ... }