【问题标题】:How to create an API route in new SvelteKit update?如何在新的 SvelteKit 更新中创建 API 路由?
【发布时间】:2022-11-13 10:30:23
【问题描述】:

This app 是尝试实现身份验证的 SvelteKit 用户的一个很好的入门者,但是在 v406 中的 these breaking changes 之后,API 方法不再起作用。这是命中路线的代码:

const response = await fetch("/api/sign-in", {
  method: "POST",
  body: JSON.stringify({ email, password }),
  headers: {
    "Content-Type": "application/json"
  }
});

这是路由树结构的示例:

如何进行转换以使旧路由可以通过新路由约定访问?

【问题讨论】:

    标签: svelte sveltekit


    【解决方案1】:

    使用新的路由约定,api/sign-in.ts 的内容需要移动到api/sign-in/+server.ts。一旦进入新文件,它们需要被包装在路由所需的方法中。 POST 请求路由的语法的一个简单示例是:

    export async function POST({ request }: { request: Request }) {
      const { email, password } = await request.json();
    
      // ...
      // Insert your real logic here
      // ...
    
      // An example of a simple response
      return new Response(JSON.stringify({
        message: "Hello world!"
      }, {
        status: 200
      });
    }
    

    因此,您只需将身份验证逻辑放入具有正确包装器的新文件中,无论是GET、POST、PUT 等。请注意,端点现在必须全部大写,更多信息可用here。

    【讨论】:

      猜你喜欢
      • 2022-08-18
      • 1970-01-01
      • 1970-01-01
      • 2021-06-16
      • 2019-06-10
      • 2014-08-22
      • 1970-01-01
      • 1970-01-01
      • 2020-03-18
      相关资源
      最近更新 更多