如何从 LoopBack 模型中读取查询过滤器
How to Read Query Filters from Within a LoopBack Model
我们正在为我们的 REST API 使用 LoopBack,并且需要从 LoopBack 模型的自定义逻辑中访问查询过滤器(在客户端中指定)。例如,给定此查询:
http://localhost:1337/api/Menus/formatted?filter[where][id]=42
我们如何从 'Menu.formatted' 代码中访问 'where' 参数:
function asMenu(Menu) {
Menu.formatted = function (callback) {
<<Need to access the query filter here...>>
将 filter
查询参数声明为 formatted
远程方法的参数,然后像 callback
参数一样访问它。
引入过滤器的方法应该与此类似:
module.exports = function(Menu) {
Menu.formatted = function (filter,callback) {
// Your code here
}
Menu.remoteMethod('formatted', {
http: { path: '/formatted', verb: 'get' },
accepts: [
{ arg: 'filter', type: 'object', 'http': { source: 'query' } }
],
returns: { type: 'object', root: true }
});
};
在上面的示例中,在代表远程方法接收的参数的accepts
字段中,您需要添加filter
参数。这样就可以把filter
的查询参数值作为一个对象来使用了。
我们正在为我们的 REST API 使用 LoopBack,并且需要从 LoopBack 模型的自定义逻辑中访问查询过滤器(在客户端中指定)。例如,给定此查询:
http://localhost:1337/api/Menus/formatted?filter[where][id]=42
我们如何从 'Menu.formatted' 代码中访问 'where' 参数:
function asMenu(Menu) {
Menu.formatted = function (callback) {
<<Need to access the query filter here...>>
将 filter
查询参数声明为 formatted
远程方法的参数,然后像 callback
参数一样访问它。
引入过滤器的方法应该与此类似:
module.exports = function(Menu) {
Menu.formatted = function (filter,callback) {
// Your code here
}
Menu.remoteMethod('formatted', {
http: { path: '/formatted', verb: 'get' },
accepts: [
{ arg: 'filter', type: 'object', 'http': { source: 'query' } }
],
returns: { type: 'object', root: true }
});
};
在上面的示例中,在代表远程方法接收的参数的accepts
字段中,您需要添加filter
参数。这样就可以把filter
的查询参数值作为一个对象来使用了。