POST/PATCH 适用于 LoopBack Explorer 但不适用于 Postman

POST/PATCH works in LoopBack Explorer but not Postman

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

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 方法也有同样的问题。

有什么想法吗?

谢谢

我找到了原因。在我以前使用过的 API 中,后端设置了一个模型绑定器,该绑定器将应用它需要的属性并丢弃它不需要的属性。所以我通常在 POSTs/PUTs/etc 中发送整个对象。在这种情况下,我们没有那个,所以它抛出了这个奇怪的错误。一旦我向我的 Angular 自动映射器添加了一个方法,该方法将把对象剥离到只剩下最基本的必需品,它就工作得很好。

最后,如果错误消息更好的话,我本可以弄清楚的。