TypeError:预期的字符串,但接收到数组邮递员

时间:2019-02-06 00:25:53

标签: node.js express mongoose postman

我正在尝试发送具有多个具有相同名称的字段的表单数据,而我却得到了“ TypeError:期望的字符串但接收到数组”的信息。

我认为问题出在邮递员,我想拥有多个参与者字段,这些字段将添加到中,并应添加到数组中。

enter image description here

final results of array

Info.plist

4 个答案:

答案 0 :(得分:1)

如果要在参与者数组中发送数据,则所有字段均应为参与者,而不是参与者

尝试通过原始数据发送数据,然后选择应用程序/数据以更好地格式化

答案 1 :(得分:0)

尝试在“正文”标签中选择“原始”,然后在右侧选择“ JSON(application / json)”而不是“文本”。

我假设您的API端点使用JSON而非url编码的表单数据,只是因为您正在使用express和mongoose运行API。但是您应该在问题上对此进行澄清。

写一个正确的JSON正文,我的意思是,对密钥使用双引号,如下所示:

{"model": { "property": "value",  "property2": 1}}

尝试使用包装对象{"model": <YOUR BODY HERE>}或不查看包装对您有用,因为包装该对象是很典型的做法,但是有时人们不使用它们。 (在您的代码中看到此内容:req.body.participant让我觉得您可能不知道)。

(PS:与问题无关,但个人更喜欢ARC或Insomnia作为其他客户端,因为它们的界面更干净)

答案 2 :(得分:0)

TypeError:预期的字符串,但接收到数组。 ---在邮递员以及终端窗口中引发错误。我怀疑这可能是用户架构定义不匹配

请检查您的用户模型用户架构,例如 名称: {  类型:字符串, 必填:true  } 它收到的东西超出了预期。

答案 3 :(得分:0)

在邮递员中进行测试时-刚刚弄清楚键值必须与验证函数定义的变量匹配。最好在整个开发过程中保持一致。