Loopbackjs 当尝试在RESTAPI上使用delete时,生成的模型给出501
我使用以下命令创建了一个模型: slc环回:模型 我没有更改任何其他内容,因此model.js是默认的,model.json是默认的。模型通过RESTAPI公开,并显示在api资源管理器中。 如果我运行GET,它会根据需要返回3家咖啡店,那么当我尝试通过explorer或CURL删除其中一家咖啡店时,我会得到501状态代码。 我整天都在阅读文档,没有任何东西告诉我deleteById调用将被禁用,只有deleteAll调用被禁用。 我错过什么了吗?我应该在某个地方为自定义模型启用删除吗?我已经扩展了用户模型并运行了一个100%有效的删除 下面是api explorer的屏幕截图和返回的501错误。您可以看到我正在传递id,它只返回501。第二幅图显示控制台输出 根据要求,这里是我的咖啡馆。jsonLoopbackjs 当尝试在RESTAPI上使用delete时,生成的模型给出501,loopbackjs,strongloop,Loopbackjs,Strongloop,我使用以下命令创建了一个模型: slc环回:模型 我没有更改任何其他内容,因此model.js是默认的,model.json是默认的。模型通过RESTAPI公开,并显示在api资源管理器中。 如果我运行GET,它会根据需要返回3家咖啡店,那么当我尝试通过explorer或CURL删除其中一家咖啡店时,我会得到501状态代码。 我整天都在阅读文档,没有任何东西告诉我deleteById调用将被禁用,只有deleteAll调用被禁用。 我错过什么了吗?我应该在某个地方为自定义模型启用删除吗?我已经扩
{
"name": "CoffeeShop",
"base": "PersistedModel",
"idInjection": true,
"options": {
"validateUpsert": true
},
"properties": {
"name": {
"type": "string",
"required": true
},
"city": {
"type": "string",
"required": true
}
},
"validations": [],
"relations": {},
"acls": [],
"methods": {}
}
以及model-config.json
{
"_meta": {
"sources": [
"loopback/common/models",
"loopback/server/models",
"../common/models",
"./models"
],
"mixins": [
"loopback/common/mixins",
"loopback/server/mixins",
"../common/mixins",
"./mixins"
]
},
"User": {
"dataSource": "db"
},
"AccessToken": {
"dataSource": "db",
"public": false
},
"ACL": {
"dataSource": "db",
"public": false
},
"RoleMapping": {
"dataSource": "db",
"public": false
},
"Role": {
"dataSource": "db",
"public": false
},
"CoffeeShop": {
"dataSource": "oracleDS",
"public": true
}
}
哦,我的npm版本是3.10.8
节点v6.9.1
和slc——版本
strongloop v6.0.3(节点v6.9.1)
├── 强壮的-arc@1.8.9(3dd25ac)
├── 强壮的-build@2.1.2(a98f310)
├── 强壮的-deploy@3.1.4(9b29df0)
├── 强网-models@8.1.0(62e539b)
├── 强壮的-pm@5.2.3
├── 强壮的-registry@1.1.6(f8c2339)
├── 强壮的-start@1.3.4(28c261d)
├─┬ 强壮的-supervisor@3.3.3
│ └── 强壮的-agent@2.1.1(b51fc45)
├── 发电机-loopback@1.25.0(6a0e2c0)
├── 节点-inspector@0.7.4
└── 点头-register@0.3.3
这很奇怪,你能显示
CoffeeShops.json
和model config.json
文件吗?通常,这个API调用应该返回200
{count:1}
非常奇怪,我添加了两个文件。我在我的项目中得到了这种行为,但是回到咖啡厅的示例,它也在那里。看起来它来自Oracle数据源,其余的对我来说很好。您是否在启动脚本中执行自动更新/自动迁移?我今天用db进行了测试,得到了相同的结果:-(501未实现。问题来自CORS对选项的调用。对于删除,它似乎不允许CORS。当我将内容类型更改为application/json时,我在一篇文章中开始遇到同样的问题。当我上线时,我的api和Angular客户端将从同一URL提供服务,因此CORS将不在讨论范围内,在开发过程中Angular正在我的机器上运行。我在server.js脚本中有自动更新功能,但我已经删除了它们,因为它们出现了问题。我只是创建脚本文件,在部署时手动迁移。哦,中间件中的CORS设置默认为true,我没有使用它们。这很奇怪,你能显示CoffeeShops.json吗
和model config.json
文件?通常,此API调用应返回200
{count:1}
非常奇怪,我添加了这两个文件。我在项目中得到了这种行为,但回到咖啡厅的示例,它也在那里。看起来它来自Oracle数据源,其余的对我来说很好。你是否在启动脚本中执行自动更新/自动迁移?我今天用db测试了它,得到了相同的结果:-(501未实现。问题来自CORS对选项的调用。对于删除,它似乎不允许CORS。当我将内容类型更改为application/json时,我在一篇文章中开始遇到同样的问题。当我上线时,我的api和Angular客户端将从同一URL提供服务,因此CORS将不在讨论范围内,在开发过程中Angular正在我的机器上运行。我在server.js脚本中有自动更新功能,但我已经删除了它们,因为它们出现了问题。我只是创建脚本文件,以便在部署时手动迁移。哦,中间件中的CORS设置默认为true,我没有使用它们。
strongloop v6.0.3 (node v6.9.1)
├── strong-arc@1.8.9 (3dd25ac)
├── strong-build@2.1.2 (a98f310)
├── strong-deploy@3.1.4 (9b29df0)
├── strong-mesh-models@8.1.0 (62e539b)
├── strong-pm@5.2.3
├── strong-registry@1.1.6 (f8c2339)
├── strong-start@1.3.4 (28c261d)
├─┬ strong-supervisor@3.3.3
│ └── strong-agent@2.1.1 (b51fc45)
├── generator-loopback@1.25.0 (6a0e2c0)
├── node-inspector@0.7.4
└── nodefly-register@0.3.3