空对象被发送到数据库

Xichi

我正在编写一个基本的搜索函数来查询 postgresql 数据库。当我运行它并使用 console.logs 时,我一直看到它正在发送并返回 200,但是它发送的对象是空白的。下面是我的函数,然后是我发送的 curl 命令。当我在 DB 种子期间运行搜索功能时,它能够找到我正在寻找的内容。

curl http://localhost:5000/api/company/parts/GCS

companyRouter.get("/parts/:id", async (req, res, next) => {
  const partNumber = req.body;
  console.log("request 19", partNumber, req.body);
  try {
    const part = await searchPartsNumber(partNumber);
    res.send({ part });
  } catch ({ name, message }) {
    next({ name, message });
  }
});
穆罕默德·费萨尔

解决方案-1:

您没有将任何正文传递给请求。您正在传递一个 url 参数。这就是为什么你的身体是一个空物体。如果您想在服务器中获取参数(在您的情况下为 GCS ),您应该执行以下操作

const partNumber = req.param('id');

解决方案 - 2

否则,如果您想使用 curl 传递 body,您应该像这样修改您的请求。

curl --header "Content-Type: application/json" \
  --request POST \
  --data '{"partNumber":"YOUR_PART_NUMBER"}' \
  http://localhost:5000/api/company/parts/GCS

并且因为 req.body 是一个对象。你应该像这样提取你的partNumber

const {partNumber} = req.body;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章