2016-04-26 54 views
1

我已經實施了一個應用程序使用Moqui框架。我有一個字段在實體中命名爲「年齡」。我試圖從實體獲取所有記錄年齡在20到25之間。如何創建休息服務以獲得&之間的給定年齡如何指定此要求的網址。 這是網址:REST/S1/UserMargen/DetailsOfUser,我越來越爲Moqui框架調用之間的「年齡」休息服務從:到:

{ 
    "street": "Bridege", 
    "age": 22, 
    "city": "kol", 
    "username": "Debendu", 
    "lastUpdatedStamp": "2016-04-26T12:43:45+0000", 
    "userid": "2000" 
}, 
{ 
    "lastUpdatedStamp": "2016-04-26T12:42:42+0000", 
    "userid": "2001", 
    "street": "White", 
    "username": "rolla", 
    "city": "Ban", 
    "age": 20 
}, 
{ 
    "username": "Venkatesh", 
    "street": "T-nager", 
    "age": 28, 
    "userid": "2005", 
    "city": "chennai", 
    "lastUpdatedStamp": "2016-04-26T12:48:33+0000" 
} 

在rest.xml我已經定義爲

<resource name="DetailsOfUser" > 
    <method type="get"><entity name="UserInDetails" operation="list"/></method> 
    <method type="post"><service name="UserMargen.UserMargenServices.create#userDetails"/></method> 

    <id name="age"> 
     <method type="get"><entity name="UserInDetails" operation="list"/></method> 
    </id></resource> 

如果我給/ REST/S1/UserMargen /詳情用戶/ 22它會顯示哪個年齡等於22.如何獲得年齡在20到25之間的記錄?

回答

1

在Moqui Framework中的XML REST API定義中,method.entity元素的行爲與實體(/ rest/e1)和實體主(/ rest/m1)接口的行爲相同,其行爲與搜索表單輸入(在XML屏幕文件中或通過EntityFind接口)。對於搜索表單輸入,您可以使用字段名稱加「_from」和「_thru」後綴在數字或日期/時間字段中進行範圍查找。

如果您希望將年齡範圍值作爲路徑參數包含在URL中,您需要定義一個名稱爲age_from的id元素和名稱爲age_thru的另一個id元素。更靈活的方法也只是將它們傳遞的URL參數而不是路徑元素,即是這樣的:

/rest/s1/UserMargen/DetailsOfUser?age_from=20&age_thru=25 

地使用這種模式,您可以通過字段值或任何由EntityFind.searchFormInputs支持的後綴()/ searchFormMap():_op,_not,_ic,_period/_poffset,_from和_thru。您還可以傳遞一個orderByField參數,該參數可以是逗號分隔的字段名稱列表。您還可以傳遞分頁參數,如pageIndex,pageSize,甚至pageNoLimit不分頁。

+0

謝謝你寶貴的建議David E. Jones。現在我可以年齡介於兩者之間。 – Rolla