Приложение А

[1] Синтаксис за обсег.

Някои числови данни поддържат синтаксис за обсег. Пример (година)

2000 Ще върне всички автомобили с година на производство- 2000

-2000 Ще върне всички автомобили с гона на производство <= 2000

2000- Ще върне всички автомобили с година на производство >= 2000

2000-2005 Ще върне всички автомобили с година на произвдоство >= 2000 и <= 2005

2002, 2005, 2007 Ще върне всички автомобили с година на производство 2002, 2005 или 2007

2002, 2005-2007 Ще върне всички автомобили с година на производство 2002, 2005, 2006 или 2007

[2] Синтаксис за редуциране на отговора.

Някои заявки поддържат възможност отговора им да бъде ограничен по брой полета

Това става чрез подаване на поле rules (string[], optional) като параметър на заявката

Всеки елемент на rules представлява правило за ограничаване. Правилото започва задължително със знак "-" или "+" и включва йерархично полетата които да бъдат премахнати/добавени разделени с "/"

Примери:

Пример 1:


        "params": {
            "offset": 0,
            "limit": 10,
            "key": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
            "rules": [
                "-data",
            ]
        }
        

Заявката изисква всички оценки до които потребител със съответния оторизационен ключ има достъп.

По принцип отговорът включва данните (data) и общият брой оценки (total). С това правило, обаче данните не се включват в резултата и отговорът ще е нещо пододбно


        "result": {
            "total": 113
        }
        

Пример 2 - Принципът за вложени полета е същият. Използва се "/" за разделител


        "params": {
            "offset": 0,
            "limit": 10,
            "key": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
            "rules": [
                "-data/make",
                "-data/model"
            ]
        }
        

Резултатът ще бъде списък от данни за оценките на потребителя (Виж assessment/find), но на всяка от оценките полетата make и model липсват

Пример 3 - Предефиниране на правила и добавяне на вече премахнати полета.


        "params": {
            "offset": 0,
            "limit": 3,
            "key": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
            "rules": [
                "-data",
                "+data/id",
            ]
        }
        

Резултатът ще бъде списък от данни за оценките на потребителя (Виж assessment/find), но за всяка оценка, ще бъде върнат само нейния идентификатор


        "result": {
            "data": [
                {"id": "173"},
                {"id": "172"},
                {"id": "171"}
            ],
            "total": 113
        },