[英]Postman raw data works but form-data not works on POST request in node
[英]Postman: POST request of nested JSON via form-data not working (while via raw-data ok)
我想通过 Postman 发布以下 JSON 对象:
{
"title": "test_title",
"date": "2021-12-31",
"attachments": [
{
"name": "test_attachment"
}
]
}
当使用 Postman 的原始输入表单作为请求正文时,这非常有效:我得到了“201 Created”响应。
但是,当使用表单数据 POST 数据时,我收到错误"Invalid data. Expected a dictionary, but got str."
(另见下面的截图)我在这里做错了什么? 我尝试了所有其他版本来输入附件键:值对,但到目前为止没有任何效果
你没有做错什么。
raw type
(json)。form-data
var express = require('express')
const multer = require('multer')
const upload = multer()
var app = express()
app.use(express.json());
app.post('/test',upload.none(), function (req, res, next) {
res.send(req.body)
})
app.listen(80, function () {
console.log('web server listening on port 80')
})
上面是一个示例端点,它适用于 form-data 和 json ,只需使用表单数据和原始 json 发布到 http://localhost:80/test
你可以看到两者都会被正确解析
API只是抽象,它就像一个包含许多属性的函数,你如何解析它取决于实现(api函数是如何编写的)。
所以答案是“与开发人员交谈”,了解 API 的实现方式及其支持的内容
我在将 json 放入表单格式时遇到问题,就像 Daniel 在 Postman 中所做的那样。 需要帮助弄清楚将级联 json 对象放入表单数据格式需要什么。 请在此处查看我正在尝试完成的工作。
JSON 格式(填写到 Postman 表单数据部分:
{
"primary_object": {
"child_object_1": [{"id": 12345678, "value": "abc"},{"id": 87654321, "value": "xyz"}],
"child_object_2": [
"first_val",
"second_val"
]
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.