Size: a a a

2020 February 23

ŹR

Źmićer Rubinštejn in ErlangRus
Причём реально в get только пересечение, потому что в остальных местах дублирование не имеет смысла
источник

ŹR

Źmićer Rubinštejn in ErlangRus
Например POST /resource имеет смысл, а POST /resource/id не имеет. Ну и так далее
источник

EM

Evgeny M. in ErlangRus
почему не имеет?
источник

EM

Evgeny M. in ErlangRus
не обязательно же должно быть все идемпотентно
источник

EM

Evgeny M. in ErlangRus
put может добавлять, post менять существующий
источник

ŹR

Źmićer Rubinštejn in ErlangRus
Зачем post у менять существующий, если есть patch?
источник

EM

Evgeny M. in ErlangRus
а patch допустим менять только отдельные поля
источник

EM

Evgeny M. in ErlangRus
короче можно придумать
источник

ŹR

Źmićer Rubinštejn in ErlangRus
Можно придумать, но REST уже придумали за нас
источник

ŹR

Źmićer Rubinštejn in ErlangRus
Там довольно чёткая спецификация по тому, кто меняет целиком а кто отдельные поля, и почему нельзя делать put вместо post
источник

EM

Evgeny M. in ErlangRus
ну я в курсе, но не всегда надо прям строго следовать стандартам
источник

EM

Evgeny M. in ErlangRus
особенно таким как rest
источник

EM

Evgeny M. in ErlangRus
put idempotent, post не idempotent
источник

ŹR

Źmićer Rubinštejn in ErlangRus
Ну для этого надо в cowboy_rest сделать возможность чуть уйти от рест
источник

ŹR

Źmićer Rubinštejn in ErlangRus
Но если я хочу полностью соответствовать - это должно быть максимально дешево
источник

ŹR

Źmićer Rubinštejn in ErlangRus
А не «делай рест двумя контроллерами, зато НЕ рест делать легче»
источник

EM

Evgeny M. in ErlangRus
да в принципе не обязательно два контроллера, можно в init делать что-то такое
 Id = cowboy_req:binding(id, Req),
       {cowboy_rest, Req, #state{opts = Opts, method = Method, id = Id, session = Session}}.
источник

EM

Evgeny M. in ErlangRus
и потом в обработчике матчить id, есть он или нет
источник

EM

Evgeny M. in ErlangRus
короче в init можно все что нужно проверить и пометить в State или флажками или прямо значениями
источник

ŹR

Źmićer Rubinštejn in ErlangRus
Ну как бы да. Но в роутере все равно получается вроде как две строчки. Да и колбэки так себе различаются - только по матчу внутри
источник