MailRuChamps/hlcupdocs

Своебразный вывод пустых значений ключей в group (18.12.2018)

Closed this issue · 7 comments

Вывод пустых значений для метода group устроен странно, вместо одной логики используется несколько. Видимо, работает так: пустые значения (типа "country": null) отбрасываются, если для других ключей есть непустые значения. Но если есть только пустые значения, то они выводятся явно.
Примеры:

  1. /accounts/group/?status=%D0%B2%D1%81%D1%91+%D1%81%D0%BB%D0%BE%D0%B6%D0%BD%D0%BE&limit=35&order=-1&query_id=600&birth=1997&keys=city%2Cstatus
    {"status":"всё сложно","count":15},{"status":"всё сложно","count":2,"city":"Санктярск"},...
    -- здесь нет city в первом элементе
  2. /accounts/group/?status=%D0%B2%D1%81%D1%91+%D1%81%D0%BB%D0%BE%D0%B6%D0%BD%D0%BE&query_id=387&order=-1&limit=45&keys=country
    {"groups":[{"country":null,"count":385},{"country":"Румляндия","count":67},...
    -- а здесь есть

Может быть можно всегда требовать выводить null для пустых значений, или никогда не выводить? Или при валидации не учитывать null значения независимо от формы записи?

recar commented

Логичнее не выводить

Аналогично:

expected: {:groups
           [{:count 38, :sex "m"}
            {:count 28, :sex "f"}
            {:count 9, :sex "f", :country "Мализия"}
            {:count 7, :sex "f", :country "Румляндия"}

Здесь пустые country удалены, в другом запросе country null

Сделайте, пожалуйста, в каком-то одном стиле -- либо оставлять, либо выводить. Но чтобы везде одинаково.

В test_accounts_251218.zip уже нигде нет null.

@stremin не могу найти файл test_accounts_251218.zip. Где его скачать?

На странице https://highloadcup.ru/ru/round/3/task/3/ ссылка "Получить тестовые данные".
Сейчас она ведет на https://highloadcup.ru/media/condition/test_accounts_251218.zip (и меняется почти каждый день).

@stremin виноват, сидел под анонимом.