如何在 Loopback Framework 中覆盖和重命名用户内置模型的属性

How to override and rename properties of User built-in model in Loopback Framework

我正在使用环回框架为我的应用程序创建 RESTful API。

根据文档,我创建了自己的客户模型,扩展了内置模型用户。

我想要实现的是:

如何从这个内置模型中重命名和删除一些属性?

    {
      "name": "Cliente",
      "plural": "Clientes",
      "base": "User",
      "idInjection": false,
      "strict":"true",
    ...
    }

    {
      "name": "User",
      "properties": {
        "realm": {
          "type": "string"
        },
        "username": {
          "type": "string"
        },
        "password": {
          "type": "string",
          "required": true
        },
        "email": {
          "type": "string",
          "required": true
        },
        "emailVerified": "boolean",
        "verificationToken": "string"
      },
     ...
  }

我在 节点模块 中修改环回模型得到了结果,但这个解决方案似乎不是正确的方法,有没有办法在我的代码中配置它而不是改变环回基础模型?

我想你想做的是 "rename" a 属性,我说得对吗? 如果是这样,您可以执行以下操作:

"senha": {
      "type": "string",
      "id": true,
      "required": true,
      "index": true,
      "postgresql": {
        "columnName": "password"
      }
    }

请注意,我有一个 "postgresql" 属性,它取决于您的数据库连接器。检查一下 here。在该属性中,我有一个 "columnName",这是我数据库中该列的真实名称。所以 "senha" 是该属性的新名称。

要隐藏用户名 属性,您可以在根对象中执行以下操作:

"hidden":["username"]

您的最终文件应如下所示:

{
    "name": "Cliente",
    "plural": "Clientes",
    "base": "User",
    "idInjection": false,
    "strict": "true",
    "properties": {
        "realm": {
            "type": "string"
        },
        "username": {
            "type": "string"
        },
        "senha": {
            "type": "string",
            "required": true,
            "postgresql": {
                "columnName": "password"
            }
        },
        "email": {
            "type": "string",
            "required": true
        },
        "emailVerified": "boolean",
        "verificationToken": "string"
    },
    "hidden": ["username"]
}