给定一个使用以下内容创建的全新项目:
$ slc lb project myapp
如何用放置在目录中的“客户”模型替换“用户”模型?客户应具有登录/注销等方法,并且“用户”不应作为 API 存在。此外,客户模型不应该是动态的。让我们假设客户应该有一个如下模式:models.json
./models
- 姓名
- 电子邮件
- 密码
- 问题
- 回答
- 电话
- 已验证
- 数据创建
我已经玩了几天了,我的 google-fu 让我失望了。任何帮助表示赞赏。谢谢。
给定一个使用以下内容创建的全新项目:
$ slc lb project myapp
如何用放置在目录中的“客户”模型替换“用户”模型?客户应具有登录/注销等方法,并且“用户”不应作为 API 存在。此外,客户模型不应该是动态的。让我们假设客户应该有一个如下模式:models.json
./models
我已经玩了几天了,我的 google-fu 让我失望了。任何帮助表示赞赏。谢谢。
这是惯用的方式:
在models.json
中,重命名user
为Customer
。
在models/customer.js
中,将自定义方法添加到通过 models.json 创建的模型中:
var app = require('../app');
var Customer = app.models.Customer;
Customer.myfn = function(cb) {
// etc.
cb();
};
此外,客户模型不应该是动态的。让我们假设客户应该有如下模式
用于strict
锁定属性:
{
"Customer": {
"options": {
"base": "User",
"strict": true
},
"properties": {
// define properties (schema)
}
}
}
有关详细信息,请参阅模型定义参考。
根据此答案下方的评论进行更新
可以先代码创建模型,请参阅在引入之前构建的 LoopBack 示例应用程序中的customer.js 。models.json
以下是您应该在代码中执行的操作:
var app = require('../app');
var Customer = module.exports = loopback.createModel(
'Customer',
{
name: 'string',
// and all other more properties
},
{
base: 'User',
strict: true
}
);
app.model(Customer);
这基本上app.boot
与models.json
. 它应该将熟悉的 REST 路由添加到您的应用程序:GET /customers
、POST /customers/login
、POST /customers/logout
等。
如果没有看到您的代码不起作用并且不知道您所说的“不起作用”到底是什么意思,那么很难为您提供帮助。