This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-06-21
Channels
- # bangalore-clj (1)
- # beginners (60)
- # boot (30)
- # cider (7)
- # cljs-dev (10)
- # cljsrn (2)
- # clojure (163)
- # clojure-conj (10)
- # clojure-france (1)
- # clojure-greece (2)
- # clojure-italy (7)
- # clojure-russia (41)
- # clojure-serbia (22)
- # clojure-spec (41)
- # clojure-uk (41)
- # clojurescript (178)
- # cursive (36)
- # datascript (1)
- # datomic (23)
- # dirac (38)
- # graphql (12)
- # hoplon (20)
- # immutant (32)
- # instaparse (3)
- # keechma (1)
- # lein-figwheel (18)
- # leiningen (8)
- # liberator (1)
- # luminus (30)
- # lumo (29)
- # off-topic (18)
- # om (17)
- # pedestal (7)
- # planck (37)
- # precept (1)
- # re-frame (67)
- # ring-swagger (2)
- # timbre (1)
- # untangled (8)
- # vim (2)
Вопрос про пагинацию в rest api: сейчас мы делаем её через Link header, https://tools.ietf.org/html/rfc5988 все дела. Но генерить и парсить Link header неудобно. Кажется есть смысл отдавать данные о пагинации прямо в response body {:entities [{..}...] :total 30 :limit 10 :offset 20}. Какие проблемы этого подхода?
@andrewtropin как сортировка происходит?
В разных местах по-разному. Где-то по pk, где-то по created-at, где-то из запроса берутся параметры сортировки. Зависит от сущности.
ну я к тому, что если поля по которым сортируется меняются в процессе пагинации то юзеру могут или не придти некоторые данные или придти дважды
fmnoise: а где я вообще утверждал что он спасет?)
не, ты не утверждал, просто человек спрашивал, если от линк хидера уйти к передаче параметров пагинации в боди, то будут ли проблемы)
ну в данном случае ты пожалуй прав, линк хидер может зарешать проблему фиксации коллекции
*значения полей
kronos_vano: а можно пример?
Самый простой - сортировка по updated_at
ну да, такое может быть. Но кажется это не большая проблема и с Link header поведение будет такое же.
то что в описанном случае будет конструировать клиент исходя из полученных данных для пагинации
для того чтобы от этого уйти, можно фиксировать коллекцию на момент запроса, хранить где-то и выдавать постранично
хедерами проще навязывать клиенту (не нужно умень собирать урлы на клиенте) куда ходить дальше, по закешированым страницам например.
misha: Спасибо за мысли
@fmnoise Вот если бы была такая база данных, которую можно спросить про историческое значение...
my little pony вестимо
@dottedmag ну таймштамп запроса для получения среза по истории тоже придется где-то хранить, вот тут линк хедер и зайдет