Size: a a a

Clojure — русскоговорящее сообщество

2020 January 27

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
ну с этим все-таки как-то попроще
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
более того, я им даю сгенерированную мапу констант-урлей в тайпскрипте
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
т
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
то есть модификация ури запрещена административно :)
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
для меня оптимальное апи для клиента — одна точка входа с одним json параметром — стабильный урл, произвольные данные любой структуры
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
вот!
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Sergey Trofimov
для меня оптимальное апи для клиента — одна точка входа с одним json параметром — стабильный урл, произвольные данные любой структуры
либо несколько точек входа, по одной для каждого метода
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
но бывает хочется чуть больше точек входа, когда например надо .пдф отдать с контент таймом
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
или картинку из gridfs
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
или вот бывает надо отдать картинку обязательно по GET, но обязательно зашишенную ключом
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
типа так
/image?key=.....
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Но это вопросы проектирования апи, а не роутинга
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
в общем, да,
но правильное проектирование тут позволяет весь роутинг свести к мапе
{"/api" api-handler "/image" image-handler}
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
такого вида
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Проектировать апи под реализацию на бекенде -- неверно в принципе
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
еше аплоад забыл... там тоже мидлварь свой
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
Sergey Trofimov
Проектировать апи под реализацию на бекенде -- неверно в принципе
в каком плане?
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
апи - это соглашение между сторонами, чтобы всем было удобно - и только то.
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Maxim Penzin
в каком плане?
ты делаешь бэкенд, тебе удобно сделать ссылки вида /module/:id/update и ты делаешь, как тебе удобно
это неправильно
сначала продумывается, какое должно быть апи, из требований к задаче, потом реализуется на сервере и в клиентах
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Sergey Trofimov
ты делаешь бэкенд, тебе удобно сделать ссылки вида /module/:id/update и ты делаешь, как тебе удобно
это неправильно
сначала продумывается, какое должно быть апи, из требований к задаче, потом реализуется на сервере и в клиентах
у меня такой опыт был, когда я был клиентом сервера, отдающего данные протобуфами, и вся выдача формировалась реализацией на сервере
у них менялась реализация — плыло апи
источник