环回:使用 JavaScript 执行生成的方法
Loopback: Executing a generated method using JavaScript
我想在 JavaScript 中使用生成的方法(特别是 __get__accessTokens),但我不知道如何使用。我可以使用 REST API Explorer 测试此功能(获取用户的令牌)是否正常工作,但我找不到任何示例来说明如何以编程方式访问生成的方法以及它们的签名是什么。我需要的示例(Member
扩展了默认的 User
模型):
models/member.js
module.exports = function(Member) {
Member.__get__accessTokens(...)
// or if I have a specific user (e.g. after executing findById)
Member.findById(id, function(err, member) {
member.__get__accessTokens(...)
});
}
您可以为此使用 afterRemote
和 beforeRemote
方法。
module.exports = function(Member) {
Member.beforeRemote("__your methods__", function(ctx, inst, next){
var accessToken = ctx.req.accessToken;
app.models.Member.findById(accessToken.userId, function(err, usr){
//Process here....
}
next();
}
}
或
您可以使用当前上下文。
https://docs.strongloop.com/display/public/LB/Using+current+context
您可以从上下文中访问它:
module.exports = function(Product) {
var app = require('../../server/server')
Product.afterRemote('create', function( ctx, modelInstance, next) {
var accessToken = ctx.req.accessToken
// get Customer (User) by using the user id in token object
app.models.Customer.findById(accessToken.userId, function(err, user) {
modelInstance.createdBy = user.username
next()
})
})
}
我使用这部分代码来捕获通过 REST 创建模型的用户名 API。完整的解释可以在 here
中找到
我想在 JavaScript 中使用生成的方法(特别是 __get__accessTokens),但我不知道如何使用。我可以使用 REST API Explorer 测试此功能(获取用户的令牌)是否正常工作,但我找不到任何示例来说明如何以编程方式访问生成的方法以及它们的签名是什么。我需要的示例(Member
扩展了默认的 User
模型):
models/member.js
module.exports = function(Member) {
Member.__get__accessTokens(...)
// or if I have a specific user (e.g. after executing findById)
Member.findById(id, function(err, member) {
member.__get__accessTokens(...)
});
}
您可以为此使用 afterRemote
和 beforeRemote
方法。
module.exports = function(Member) {
Member.beforeRemote("__your methods__", function(ctx, inst, next){
var accessToken = ctx.req.accessToken;
app.models.Member.findById(accessToken.userId, function(err, usr){
//Process here....
}
next();
}
}
或
您可以使用当前上下文。 https://docs.strongloop.com/display/public/LB/Using+current+context
您可以从上下文中访问它:
module.exports = function(Product) {
var app = require('../../server/server')
Product.afterRemote('create', function( ctx, modelInstance, next) {
var accessToken = ctx.req.accessToken
// get Customer (User) by using the user id in token object
app.models.Customer.findById(accessToken.userId, function(err, user) {
modelInstance.createdBy = user.username
next()
})
})
}
我使用这部分代码来捕获通过 REST 创建模型的用户名 API。完整的解释可以在 here
中找到