2015-01-21 54 views
3

我們使用LoopBack作爲我們的REST API並需要從LoopBack模型中的自定義邏輯內訪問查詢過濾器(在客戶端中指定)。例如,鑑於此查詢:如何從LoopBack模型中讀取查詢過濾器

http://localhost:1337/api/Menus/formatted?filter[where][id]=42 

我們如何從「Menu.formatted」代碼中訪問「其中」參數:

function asMenu(Menu) { 
    Menu.formatted = function (callback) { 

     <<Need to access the query filter here...>> 
+0

具體而言,除了標準的內置CRUD函數之外,我們還需要從LoopBack中訪問自定義函數中的查詢過濾器。 – ASA2 2015-01-21 13:16:48

回答

2

遠程聲明filter查詢paramerter作爲參數,您formatted方法,然後訪問它就像callback參數。

請參閱如何describe arguments in docs

3

引入過濾器應與此類似的一種方式:

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的查詢參數值作爲對象。