Я собираюсь реализовать спокойный API, используя Clojure.Для запроса GET есть URL-адрес, такой как /List
, и я хочу вернуть проанализированный ответ из чистых данных, который является файлом json.Запрос GET:
(GET "/list/:from-date/:to-date" [from-date to-date]
wrap-json-response (response (parse-object from-date to-date all-records)))
Как видите, необходимо иметь два параметра запроса from-date
и to-date
.Мне нужна функция с именем parse-object
, которая анализирует чистые данные и сравнивает update-date
с from-date
и to-date
.Если update-date
находится между этими двумя параметрами, то возвращает его в ожидаемой структуре объекта.Ниже приведен чистый объект и структура ожидаемого объекта с данными.
Чистые данные (data.json):
[{"name": "JOHN",
"update-date": "2017-11-10",
"role": "admin"},
{"name": "CHRIS",
"update-date": "2018-04-28",
"role": "user"},
{"name": "ANNIE",
"update-date": "2018-03-11",
"role": "admin"}]
Заданные параметры: from-date: 2017-11-01 to-date: 2018-04-28
Ожидаемый возвращенный ответ:
{"users":[
{"role":"admin",
"shows":[
{"name":"JOHN",
"status":"active"}]},
{"role":"user",
"shows":[
{"name":"CHRIS",
"status":"active"}]}]}