【问题标题】:Sails 0.11 400 response when posting JSON array to blueprint route将 JSON 数组发布到蓝图路由时,Sails 0.11 400 响应
【发布时间】:2015-08-15 01:02:50
【问题描述】:

我正在使用 Sails 0.11。他们的文档说可以将多个对象发布到 blueprint 路由,只需传递一个 JSON 数组。

我正在尝试执行此操作,但收到 400 bad request 作为响应。

这是我的情况:

我有一个模型叫Prediction,它只有两个字段,user (id) 和 poll (id)。我正在发布这个(到 /prediction):

[
    {
        "user": "556b33e884eb522f02a4f52e",
        "poll": "556c4ff8243f03e501e2b65c" 
    }
]

我收到了 400 响应,正文如下:

{
    "error": "E_VALIDATION",
    "status": 400,
    "summary": "2 attributes are invalid",
    "model": "Prediction",
    "invalidAttributes": {
    "user": [
        {
            "rule": "required",
            "message": "\\"required\\" validation rule failed for      input: null"
        }
     ],
     "poll": [
         {
              "rule": "required",
              "message": "\\"required\\" validation rule failed for input: null"
         }
     ]
     }
}

任何线索为什么会发生这种情况?

更新

我还在 GitHub 上的 sails 存储库上发布了一个问题:

https://github.com/balderdashy/sails/issues/2977

【问题讨论】:

    标签: json sails.js sails-mongo


    【解决方案1】:

    您发布对象数组,但您只需要发布对象:

    POST /prediction

    {
        "user": "556b33e884eb522f02a4f52e",
        "poll": "556c4ff8243f03e501e2b65c" 
    }
    

    【讨论】:

    • 我想发布一个数组。 Sails 文档说这是允许的,因此只需一个 POST 即可将多行添加到数据库中。查看文档sailsjs.org/#!/documentation/reference/blueprint-api/…
    • 好吧,我查过了。如果通过蓝图保存数组,Sails 总是会出错。因此,即使写到“作为参数传入的嵌套对象和数组的处理方式与将它们传递到模型的 .create() 方法中的处理方式相同。” - 那不工作。因此,您可以将数组传递给 Controller 并通过 Prediction.create() 保存
    • 是的,我已经将问题发布到 sails 存储库,所以他们知道它不起作用。现在,我将只在 Prediction 上实现一个自定义创建操作。无论如何感谢您的帮助。
    • 一点也不。请在您的帖子中发布问题的链接吗?
    • 用问题链接更新了帖子!
    猜你喜欢
    • 1970-01-01
    • 2017-01-23
    • 1970-01-01
    • 1970-01-01
    • 2020-12-07
    • 1970-01-01
    • 2020-04-15
    • 2023-03-11
    • 1970-01-01
    相关资源
    最近更新 更多