
Sergey
25.01.2018
11:29:19
https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html

Bohdan
25.01.2018
11:29:42
да, это тоже открыто

Sergey
25.01.2018
11:29:59

Google

Sergey
25.01.2018
11:30:07
или на PUT

Bohdan
25.01.2018
11:30:31
я аж не знаю, какой извращенный ум до такого догадается

Maksim
25.01.2018
11:30:42
много таких. очень

Bohdan
25.01.2018
11:30:45
ну либо сервер сначала сделал, а потом посмотрел
в случае с delete

Sergey
25.01.2018
11:30:53
или есть еще апи платежек всяких которые... ну типа ты платежку послал и если что-то в пути не так случилось - то прости прощай, если все было ок а ты просто ответ не получил - просто деньги второй раз спишем)

Bohdan
25.01.2018
11:31:14
типа "чувак, удали мне номер..." —- "аааа, уже удалил, че ты там говорил? нет такого номера"

Sergey
25.01.2018
11:31:16

Maksim
25.01.2018
11:31:23
у меня триггер на платёжки...)
таких нету)

Sergey
25.01.2018
11:32:06
та не)
ты смеешься а я как-то систему завязал на метод апи такой (в блокчейнах) и потом страдал потому что сеть периодически падала)
потом просто разделил на отдельно создать транзакцию и послать транзакцию - идемпотентно, надежно, можно повторять хоть до посинения

Maksim
25.01.2018
11:32:46
ну за ваши эти модные блокчейны не скажу)
в классических платёжках всё чуток иначе) там всё зависит от того, в какой момент времени ты отвалился)

Google

Bohdan
25.01.2018
11:33:11
надо бота завести
который мониторит чат, слушает слова и кидает картинку triggered и упоминание человека

Maksim
25.01.2018
11:34:28
"DDD говно" -> Антон :)
"я ваш SOLID на трубе шатал" -> Сергей...)

Sergey
25.01.2018
11:35:20

Maksim
25.01.2018
11:35:38
ну можно нескольких звать)

Bohdan
25.01.2018
11:35:50
сервисбасы еще можно
саги те же

Maksim
25.01.2018
11:36:11
тоже Антон)

Sergey
25.01.2018
11:39:03
саги это да, болше к антону - я не шарю

Maksim
25.01.2018
11:39:30
ага, не шарит он) прикидывайся дальше)

Bohdan
25.01.2018
11:39:40
окей, про идемпотентность
put - да, post - нет
в таком случае выходит так, что уникальные сущности должны быть созданы только через post?
на саги еще я могу затриггериться, для послушать

Sergey
25.01.2018
11:40:05

Bohdan
25.01.2018
11:40:26
Methods can also have the property of "idempotence" in that (aside from error or expiration issues) the side-effects of N > 0 *identical requests* is the same as for a single request.

Sergey
25.01.2018
11:40:31
ну то есть если операция идемпотентная - ты можешь через put/get/delete все делать. А если нет - добро пожаловать в мир post-ов

Bohdan
25.01.2018
11:40:32
идентичные запросы
скорее получается наоборот
если айдишку создает сервер и нет уникальных полей - тогда можно юзать put

andretshurotshka?❄️кде
25.01.2018
11:41:01
опять фп

Bohdan
25.01.2018
11:41:14
а если клиент - тогда сугубо пост, ведь айдишка должна быть уникальной

Sergey
25.01.2018
11:41:30

Google

Sergey
25.01.2018
11:41:49
не путай уникальность с идемпотентностью
PUT /users/id {}
PUT /users/id {}
одинаковый результат
POST /users {}
POST /users {}
разный
все сводится к сайд эффектам

Roman
25.01.2018
11:42:57
Ну то бишь в первый раз он удалит и скажит "я удалил это", а второй раз скажет "сорри, такого нет"

Sergey
25.01.2018
11:43:34

Roman
25.01.2018
11:43:38
И такое получается через post фигачить надо типа сайд-эффект?

Sergey
25.01.2018
11:43:43

Roman
25.01.2018
11:43:48
А ресурса нет - NotFound поидее
мысли вслух

Sergey
25.01.2018
11:44:08

Roman
25.01.2018
11:44:19
сам пидор
раз делает такое

Sergey
25.01.2018
11:44:31
клиенту класть

Roman
25.01.2018
11:44:47
Я запрос получил, действие выполнил

Google

Sergey
25.01.2018
11:45:10
верну ему 204 что ресурса больше нет)

Roman
25.01.2018
11:45:39
если удаляют удалённое

Sergey
25.01.2018
11:45:50

Roman
25.01.2018
11:45:56
ресурса то не существует больше

Sergey
25.01.2018
11:45:57
это только добавляет лишней логики
POST /deleteUser(id)
и все счастливы

Admin
ERROR: S client not available

Sergey
25.01.2018
11:46:55
а потом можно и graphql-ем обмазаться
и будет
mutation deleteUser(id: Number) {
}

andretshurotshka?❄️кде
25.01.2018
11:47:30
вооо

Sergey
25.01.2018
11:47:31

andretshurotshka?❄️кде
25.01.2018
11:47:33
вот это норм вещь
наконецта

Sergey
25.01.2018
11:48:20
ну то есть ни клиенту ни серверу никакого профита от того что бы кинуть ошибку на удаление ресурса которого не существует нет.
только усложнения

Google

Roman
25.01.2018
11:48:29

Sergey
25.01.2018
11:48:43

Roman
25.01.2018
11:48:44

Sergey
25.01.2018
11:49:11
почему?
потому что тебе не хочется на клиенте обрабатывать эту ошибку и глушить ее.

Roman
25.01.2018
11:49:20
Ты говоришь: "Эй мужик, ты делаешь хуитуууу!!!" и клиент такой "Ок, понял" и рисует юзеру "Сорри, вы сделали хуиту"
по мне так логично такое

Sergey
25.01.2018
11:50:10

Tex
25.01.2018
11:50:17

Sergey
25.01.2018
11:50:32

Tex
25.01.2018
11:50:33
есть - удалить - окей
нет - уже хорошо - окей

Sergey
25.01.2018
11:50:39
это не процедура - это описание

Roman
25.01.2018
11:50:55
все счастливы

Sergey
25.01.2018
11:51:07
это надо написать
ты я так понимаю клиенты вообще не пишешь?)

Roman
25.01.2018
11:51:31
А вот это уже охуенная мысль
Спасибо
А подробнее есть где глянуть?
Ну там в rfc каком-нить

Tex
25.01.2018
11:52:06
но можешь попробовать

Sergey
25.01.2018
11:52:17