如何在Loopback中向内置模型(比如用户)添加更多remoteMethod?
我创建了一个common / models / user.js并添加了以下代码
var loopback = require('loopback');
var User = loopback.User;
User.signup = function(userData, callback){
// Validate data
// Save data - User
// Create role mapping
// return token
}
User.remoteMethod(
'signup',
{
accepts: [{ arg: 'userData', type: 'object' }],
returns: { arg: 'token', type: 'object' },
http: { verb: 'post' }
});
但是,注册并没有出现在资源管理器中。你能帮忙吗?
干杯,
答案 0 :(得分:1)
实际上有open issue关于如何更好地处理这种情况。现在它不漂亮,但你可以做到。根据您的情况,最简单的方法可能是创建一个简单的启动脚本来扩展User
。
在server/boot/
中创建新文件:a-new-user.js
(不幸的是,文件必须在explorer.js
之前按字母顺序排列,否则新的远程方法将不会显示在资源管理器界面中。)只需在该文件中添加以下代码并重新启动应用程序:
module.exports = function (app) {
var User = app.models.User;
User.signup = function(userData, callback){
// ...
callback(null, 'some response data');
};
User.remoteMethod(
'signup',
{
accepts: [{ arg: 'userData', type: 'object' }],
returns: { arg: 'token', type: 'object' },
http: { verb: 'post' }
}
);
};