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 自动映射器添加了一个方法,该方法将把对象剥离到只剩下最基本的必需品,它就工作得很好。
最后,如果错误消息更好的话,我本可以弄清楚的。
我正在构建一个 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 自动映射器添加了一个方法,该方法将把对象剥离到只剩下最基本的必需品,它就工作得很好。
最后,如果错误消息更好的话,我本可以弄清楚的。