0
例如:为了创建新用户,标准路径是POST
/api/users/
。loopback - 更改预定义的远程方法路径
这个调用create
远程钩等
怎么可能到标准路径更改为类似POST
/api/users/new/
和仍保留目前的(正确)的功能?谢谢。
或者是有可能用新的远程方法user.new()复制此功能?那看起来怎么样?
例如:为了创建新用户,标准路径是POST
/api/users/
。loopback - 更改预定义的远程方法路径
这个调用create
远程钩等
怎么可能到标准路径更改为类似POST
/api/users/new/
和仍保留目前的(正确)的功能?谢谢。
或者是有可能用新的远程方法user.new()复制此功能?那看起来怎么样?
添加一个远程方法user.new
并自己调用User.create()
。
我假设你开始使用的是(小写)user.js和user.json模型,它是内置(大写)用户模型的一个扩展,它附带了loopback。
在user.js的,是这样的:
module.exports = function(user) {
user.remoteMethod('new',
{
accepts: [
{arg: 'userInfo', type: 'object'}
],
returns: {
arg: 'success',
type: 'boolean'
}
}
);
user.new = function(userInfo, cb) {
user.create(userInfo, function(err, newUser) {
if(err) return cb(err, null);
return cb(null, true);
});
};
};
您也可以修改REST API HTTP URL路径结构上的远程方法规范额外http
属性。这不是严格必要的,因为该方法默认采用该方法的名称。如果你可以修改这个来覆盖内置的行为,那么会很酷,但是我还没有测试过这是否可行。您也可以强制执行POSTing:
user.remoteMethod('new',
{
http: {path: '/new', verb: 'post'}, // <--
accepts: [
{arg: 'userInfo', type: 'object'}
],
returns: {
arg: 'success',
type: 'boolean'
}
}
);