我们已经使用启动脚本在Loopback中的代码中成功创建了REST远程方法,这使得我们可以完全消除JSON模式文件。但是,我们的最终目标是能够在运行时随时启动创建新的REST端点和远程方法。在下面的示例中,应通过调用/ api / example / createNewMethod创建新端点('newEndPoint'),但不会在REST API中公开“newMethod”。这是代码:
// **************
// Initialize 'createNewMethod' in a boot script. (THIS IS WORKING)
// **************
model.createNewMethod = function createNewMethod(data, callback) {
// **************
// Initialize 'newMethod' @ runtime by calling createNewMethod
// **************
console.log("Initializing 'newMethod'...");
// This is called by calling /api/example/newMethod
model.newMethod = function newMethod(data, callback) {
// THIS IS NOT WORKING
console.log("'newMethod' works!")
// Return from newMethod()
callback({return: true});
}
model.remoteMethod(
'newMethod',
{
http: { verb: 'get' },
returns: [
{ arg: 'eventinfo', type: 'data' },
]
}
);
// Return from createNewMethod()
callback({return: true});
}
model.remoteMethod(
'createNewMethod',
{
http: { verb: 'get' },
returns: [
{ arg: 'eventinfo', type: 'data' }
]
}
);