Moqui Framework для вызова службы отдыха для возраста между From и To:

Я реализовал приложение с использованием Moqui Framework. У меня есть поле с именем «возраст» в сущности. Я пытаюсь получить всю запись из сущности, где возраст от 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 лет?


person Rolla    schedule 26.04.2016    source источник


Ответы (1)


В определениях XML REST API в Moqui Framework элемент method.entity ведет себя так же, как интерфейсы сущности (/rest/e1) и мастера сущности (/rest/m1), которые ведут себя так же, как входные данные формы поиска (либо в XML-файл экрана или через интерфейс EntityFind). Для входных данных формы поиска вы можете использовать имя поля плюс суффиксы «_from» и «_thru», чтобы выполнить ранжированный поиск в числовых полях или полях даты/времени.

Если вы хотите, чтобы значения возрастного диапазона были в URL-адресе в качестве параметров пути, вам необходимо определить элемент id с именем 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, чтобы не разбивать на страницы.

person David E. Jones    schedule 27.04.2016
comment
Спасибо за ценное предложение, Дэвид Э. Джонс. Теперь я могу получить возраст между ними. - person Rolla; 27.04.2016