“错误”:“无法读取未定义的属性(读取'错误')”

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

我将 prisma 与 mongodb、nextjs 一起使用 我正在尝试使用邮递员发出邮寄请求 这是我的 API

if (req.method === 'POST') {
    try {
        const data = req.body;
        const taskResponse = await createTask(data);
        if (taskResponse.error) {
          throw new Error(taskResponse.error);
        }
        return res.status(201).json({ createdTask: taskResponse.createdTask });
      } catch (error) {
        res.status(500).json({ error: error.message });
      }
  }

但我收到此错误: “错误”:“无法读取未定义的属性(读取'错误')” 下面是我的创建任务函数:

export const createTask = async (task) => { 
  try {
    const createdTask = await prisma.tasks.create({ data: task }); 
    return {task: createdTask};
  } catch (error) {
    console.error('Error creating task:', error);
  }
};

提前谢谢您

我想使用发布请求更新我的数据库

api undefined prisma
1个回答
0
投票

在您的

createTask
函数中,您将返回一个带有关键任务的 object,但是在您的 API 路由中,您期望带有键 createdTask
object
,这可能会导致错误

尝试

export const createTask = async (task) => { 
  try {
    const createdTask = await prisma.tasks.create({ data: task }); 
    return { createdTask }; // Update key to match the expected response in the API route i think this is your problem
  } catch (error) {
    console.error('Error creating task:', error);
    return { error: error.message }; // Return an object with 'error' key 
  }
};
if (req.method === 'POST') {
  try {
    const data = req.body;
    const taskResponse = await createTask(data);
    if (taskResponse.error) {
      throw new Error(taskResponse.error);
    }
    return res.status(201).json({ createdTask: taskResponse.createdTask }); // Update key to match the response from createTask i talk about it above
  } catch (error) {
    res.status(500).json({ error: error.message });
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.