返回

Nodejs ExpressJS MySQL 请求:排查和修复错误状态代码 400 和 500

mysql

## Nodejs ExpressJS MySQL 请求:修复错误状态代码 400 和 500

导言

在使用 ExpressJS 和 MySQL 构建 Nodejs 应用程序时,您可能会遇到错误状态代码 400 和 500,这可能会导致请求失败和挫败感。本文旨在解决这些错误的潜在原因并提供修复方法。

错误状态代码 400

错误状态代码 400 通常表示错误请求 。当请求中缺少必需的参数或参数格式不正确时,可能会发生这种情况。

修复错误状态代码 400

1. 检查请求体中的参数:
确保请求体包含所有必需的参数。

2. 验证 JSON 格式:
请求体应使用正确的 JSON 格式。

3. 检查参数名称:
确认客户端和服务器端代码使用相同的请求参数名称。

错误状态代码 500

错误状态代码 500 通常表示内部服务器错误 。这可能是由于 MySQL 连接问题或代码中的错误。

修复错误状态代码 500

1. 检查 MySQL 配置:
确保数据库已正确配置且正在运行。

2. 验证连接字符串:
池连接字符串应正确且能够连接到数据库。

3. 使用 Promise:
将代码重写为使用 Promise,因为它可以提供更好的错误处理。

示例代码修复

以下示例代码演示了如何修复错误状态代码 400 和 500:

truckController.js

exports.truckOfferFile = catchAsync(async (req, res, next) => {
  try {
    if (Object.keys(req.body).length === 0) {
      return res.status(400).send('Empty object provided');
    }

    const query = "INSERT INTO `truck_covers` SET ?";

    const [response] = await pool.promise().query(query, req.body);

    return res.status(200).json({
      success: true,
      status: "success",
      message: "File information saved successfully!",
      offerId: response.insertId
    });
  } catch (error) {
    console.error('error', error);
    return res.status(400).json({
      success: false,
      message: error
    });
  }
});

main.js

function main(sql) {
  return new Promise((resolve, reject) => {
      pool.getConnection((err, connection) => {
      if (err) throw err;
        connection.query(sql, (errt, rows) => {
        connection.release(); // return the connection to pool
        if (errt) throw err;
        // console.log(rows);
        resolve(rows);
      });
    });
  });
}

const response = async function queries() {
  let Q = "INSERT INTO `truck_covers` SET ?";
  let result = await main(Q);
  return result;
}

其他建议

  • 使用 Postman 或其他 API 测试工具调试请求。
  • 检查服务器日志以获取更多错误详细信息。
  • 考虑使用错误处理中间件来更好地处理错误。
  • 定期更新您的 Nodejs 和 MySQL 依赖项。

常见问题解答

1. 我怎样才能调试错误请求(400)?
检查请求体中的参数,验证 JSON 格式,并确认客户端和服务器端代码使用相同的参数名称。

2. 我如何修复内部服务器错误(500)?
检查 MySQL 配置,验证连接字符串,并考虑将代码重写为使用 Promise。

3. 如何使用 Postman 测试请求?
安装 Postman 并创建新的请求。设置请求 URL、方法和正文(如有必要)。

4. 我怎样才能检查服务器日志?
在您的服务器设置中找到日志文件,并检查是否存在错误消息。

5. 如何定期更新我的依赖项?
使用版本管理工具(如 npm 或 yarn)定期检查和更新您的依赖项。