使用 Nuxt 3 时请求错误消息在生产中不可用

问题描述 投票:0回答:1

我正在尝试访问客户端中的 Nuxt 3 API 端点返回的错误消息。我能够在本地开发中访问错误消息,但是一旦在生产中运行,该消息就无法访问,只有状态代码可用。为什么无法访问错误消息?

此外,我可以看到该消息包含在响应中,但在错误对象中不可用。

// /server/api/example-api.ts
export default defineEventHandler(async (event) => {
    throw createError({
        statusCode: 400,
        message: "Test message",
        statusMessage: "Test message",
    });
};

回应:

{
  "url":"/api/example-api",
  "statusCode":400,
  "statusMessage":"Test message",
  "message":"Test message",
  "stack":""
}
// Client request
async (body: any) => {
    try {
        const response = await $fetch("/example-api", {
            method: "POST",
            body: body,
        });
    } catch (err) {
        console.log(err.message, err.statusMessage, err.statusCode);
    }
};

打印自

console.log

[POST] "/api/example-api": 400  <empty string> 400

如果相关,该站点已部署在 Netlify 中。

javascript nuxt.js netlify nuxtjs3
1个回答
0
投票

您可以从数据对象访问错误消息。这就是代码的样子,它应该可以解决您的问题

// Client request
async (body: any) => {
    try {
        const response = await $fetch("/example-api", {
            method: "POST",
            body: body,
        });
    } catch (err) {
        console.log(err.data.message, err.data.statusMessage, err.data.statusCode);
    }
};
© www.soinside.com 2019 - 2024. All rights reserved.