1

我已经使用 Moqui 框架实现了一个应用程序。我在实体中有一个名为“年龄”的字段。我试图从年龄在 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 岁之间的记录?

4

1 回答 1

1

在 Moqui 框架中的 XML REST API 定义中,method.entity 元素的行为与实体 (/rest/e1) 和实体主 (/rest/m1) 接口的行为相同,它们与搜索表单输入的行为相同(在XML Screen 文件或通过 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 等分页参数传递给不分页。

于 2016-04-27T00:48:56.290 回答