Loopbackjs 当尝试在RESTAPI上使用delete时,生成的模型给出501

Loopbackjs 当尝试在RESTAPI上使用delete时,生成的模型给出501,loopbackjs,strongloop,Loopbackjs,Strongloop,我使用以下命令创建了一个模型: slc环回:模型 我没有更改任何其他内容,因此model.js是默认的,model.json是默认的。模型通过RESTAPI公开,并显示在api资源管理器中。 如果我运行GET,它会根据需要返回3家咖啡店,那么当我尝试通过explorer或CURL删除其中一家咖啡店时,我会得到501状态代码。 我整天都在阅读文档,没有任何东西告诉我deleteById调用将被禁用,只有deleteAll调用被禁用。 我错过什么了吗?我应该在某个地方为自定义模型启用删除吗?我已经扩

我使用以下命令创建了一个模型: slc环回:模型

我没有更改任何其他内容,因此model.js是默认的,model.json是默认的。模型通过RESTAPI公开,并显示在api资源管理器中。 如果我运行GET,它会根据需要返回3家咖啡店,那么当我尝试通过explorer或CURL删除其中一家咖啡店时,我会得到501状态代码。 我整天都在阅读文档,没有任何东西告诉我deleteById调用将被禁用,只有deleteAll调用被禁用。 我错过什么了吗?我应该在某个地方为自定义模型启用删除吗?我已经扩展了用户模型并运行了一个100%有效的删除

下面是api explorer的屏幕截图和返回的501错误。您可以看到我正在传递id,它只返回501。第二幅图显示控制台输出

根据要求,这里是我的咖啡馆。json

{
  "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