POST / PATCH在LoopBack Explorer中工作,但不在Postman

时间:2017-12-02 01:25:34

标签: node.js rest http-post loopback http-patch

我正在构建一个Angular应用程序,它使用从NodeJS和LoopBack构建的REST API。在尝试创建新记录时,我从我的应用程序和邮递员那里得到了一个奇怪的错误。 (已更改属性名称以保护无辜者)

The `ObjectName` instance is not valid. 
Details: `id` can't be blank (value: undefined); 
`property2` can't be blank (value: undefined); 
`property3` can't be blank (value: undefined).

这就是我发布的内容:

{
    "id":0,
    "property2":"foo",
    "property3":"bar",
    "property4":"R"
}

最奇怪的是,当我尝试通过LoopBack API Explorer运行时,它运行得很好。我也有与PATCH方法相同的问题。

有什么想法吗?

由于

1 个答案:

答案 0 :(得分:0)

我找到了原因。在我以前使用的API中,后端设置了一个模型绑定器,它将应用所需的属性并丢弃它没有的属性。所以我通常在POST / PUT /等中发送整个对象。在这种情况下,我们没有那个,所以它抛出了这个奇怪的错误。一旦我将一个方法添加到我的Angular自动映射器中,该方法将该对象剥离为仅有的必需品,它就可以正常工作。

最后,如果错误消息更好,我可以想出来。