Next.js API路由在部署环境中返回错误,但在本地主机上运行良好

pw136qt2  于 2023-05-22  发布在  其他
关注(0)|答案(1)|浏览(149)

我正在使用一个Next.js项目,它有一些API路由。这些路由旨在从另一个网站调用。在我的本地主机上,一切正常(用Postman测试),但是当我部署我的应用程序时,我在所有API路由上都收到HTTP 405错误。[

] 1
下面是我的API处理程序的简化版本:

import type { NextApiRequest, NextApiResponse } from 'next';
import clientPromise from '../../lib/mongo';

export default async function handler(req: NextApiRequest, res: NextApiResponse) {
  const client = await clientPromise;
  const db = client.db();

  const { reqType, reqVariables, token } = req.body;

  try {
    switch (req.method) {
      case 'POST':
        // my code here
        break;
      default:
        res.status(405).json({ error: 'Invalid request method' });
        break;
    }
  } catch (error) {
    console.error(error);
    res.status(500).json({ error: 'Internal server error' });
  }
}

我已经检查了以下内容:

  • 环境配置:我已经检查了我的环境变量是否在本地和生产环境之间匹配。
  • 部署流程:我的代码正在正确地构建和部署(在vercel上)。

是否有与托管服务提供商的限制?如果不是,可能是什么潜在问题导致这种行为,我如何进一步排除故障?
感谢您的评分

jk9hmnmh

jk9hmnmh1#

该问题是由于.env文件中的MongoDB连接字符串在部署期间未正确设置,导致数据库名称错误。

相关问题