typescript 类型'()=>{正文:字符串;状态:number; }"不能赋给类型svelte

llmtgqce  于 2023-01-27  发布在  TypeScript
关注(0)|答案(1)|浏览(133)

尝试使用index.json.ts文件中的RequestHandler创建svelte的基本API端点

import type { RequestHandler } from '@sveltejs/kit'

export const get: RequestHandler = () => {
    return{
        body:'Hello from api.',
        status:200
    }
}

并得到错误:
类型() => { body: string; status: number; }不能赋值给类型RequestHandler<Partial<Record<string, string>>, string | null>
类型{ body: string; status: number; }不能赋值给类型MaybePromise<Response>
类型{ body: string; status: number; }缺少类型Response的以下属性:标头、确定、重定向、状态文本和另外9个. ts(2322)
我尝试使端点可供项目访问,但一直收到这些错误

z4bn682m

z4bn682m1#

在当前版本的SvelteKit中,存在多个问题:

  • 自定义终结点必须位于+server.ts/js文件中
  • 处理程序的名称必须全部大写
  • 处理程序必须返回完整的Response对象,如类型错误中所示

因此,在+server.ts中:

import type { RequestHandler } from '@sveltejs/kit';

export const GET: RequestHandler = () => {
    return new Response(
        'Hello from api.',
        { status: 200 }
    );
};

相关问题