【问题标题】:How to format post reqest body如何格式化发布请求正文
【发布时间】:2021-07-22 09:40:36
【问题描述】:

所以我从 nodejs 服务器发布数据

发布请求

{
    "id": "285104348274884628",
    "username": "TEST USERNAME",
    "apiKey": "5WA8G5LUYPJB8RII64RE443EFTTY-PY"
}

我在 Express 服务器中的邮政编码:

app.post('/api/v1/admin/users', (req, res) => {
    const users = req.body;
    user = JSON.stringify(users)
    userModel.push(user);
    res.status(201).json({
        error: false,
        message: 'Created User',
        time: 0
    })
});

我尝试在快速服务器中获取数据

app.get('/api/v1/admin/users', (req, res) => {
    res.status(200).send(userModel)
});

我的问题是当我得到数据时是这样的响应

[
  {
    "id": "655881699304931368",
    "username": "KASKUSTTV",
    "apiKey": "5WA7G5LUYPJB8RII64RE443EFTTY-PY"
  },
  "{\"{\\r\\n    \\\"id\\\": \\\"285104348274884628\\\",\\r\\n    \\\"username\\\": \\\"TEST USERNAME\\\",\\r\\n    \\\"apiKey\\\": \\\"5WA8G5LUYPJB8RII64RE443EFTTY-PY\\\"\\r\\n}\":\"\"}"
]

我怎样才能让它像这样响应?

[
  {
    "id": "655881699304931368",
    "username": "KASKUSTTV",
    "apiKey": "5WA7G5LUYPJB8RII64RE443EFTTY-PY"
  },
  {
    "id": "285104348274884628",
    "username": "TEST USERNAME",
    "apiKey": "5WA8G5LUYPJB8RII64RE443EFTTY-PY"
  }
]

【问题讨论】:

  • 尝试使用 JSON.parse() 而不是 JSON.stringify()?
  • req.body 已经是一个字符串。您需要对其进行解析以从 JSON 中获取对象。
  • 上面写着Cannot convert object to primitive value at JSON.parse
  • 您必须在 POST 代码中进行字符串化吗?它可能在您的数据模型中插入错误。尝试删除字符串化。
  • nvm 我忘记设置 contentType 应用程序/json,但请帮忙

标签: javascript node.js json express post


【解决方案1】:

你不需要对其进行字符串化,而是推送数组。

app.post('/api/v1/admin/users', (req, res) => {
    const users = req.body;
    userModel.push(users);
    res.status(201).json({
        error: false,
        message: 'Created User',
        time: 0
    })
});

【讨论】:

    猜你喜欢
    • 2012-06-24
    • 1970-01-01
    • 2018-08-18
    • 2021-03-28
    • 2021-12-06
    • 2020-12-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多