Moqui 框架在 From 和 To 之间为 "Age" 调用 Rest 服务:

Moqui Framework To Call Rest Service for "Age" between From And To:

我已经使用 Moqui 实现了一个应用程序 Framework.I 在 entity.I 中有一个名为 "age" 的字段,我正在尝试从年龄在 20 到 25 岁之间的实体获取所有记录。如何创建休息服务以获得给定的年龄介于 & 如何为此要求指定 url。 这是 url:rest/s1/UserMargen/DetailsOfUser 而我得到的是

{
    "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/DetailsOfUser/22 它将显示哪个年龄等于 22。如何获取 20 到 25 岁之间的记录?

在 Moqui 框架的 XML REST API 定义中,method.entity 元素的行为与实体 (/rest/e1) 和实体主控 (/rest/m1) 界面,其行为与搜索表单输入相同(在 XML 屏幕文件中或通过 EntityFind 界面)。对于搜索表单输入,您可以使用字段名称加上“_from”和“_thru”后缀在数字或 date/time 字段上进行范围查找。

如果您希望年龄范围值作为路径参数出现在 URL 中,您需要定义一个名称为 age_from 的 id 元素以及其下的另一个名称为age_thru。一种更灵活的方法是将它们作为 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 以不分页。