鉴于一个全新的项目:
$ slc lb project myapp
如何更换' 用户' models.json
中的模型与' 客户'模型放在./models
目录中?客户应该具有登录/注销等方法和用户'不应该作为API存在。此外,客户模型不应该是动态的。让我们假装客户应该有如下架构:
我已经玩了几天了,我的google-fu让我失望了。任何帮助赞赏。感谢。
答案 0 :(得分:4)
这是惯用的方式:
在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)
}
}
}
有关详细信息,请参阅Model definition reference。
根据此回答下方的评论进行更新
可以先代码创建模型,请参阅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
等。
如果没有看到不起作用的代码,并且知道你的意思到底是什么意思,那就很难帮助你。#34;不工作"。