Здравствуйте, Pauel, Вы писали:
НС>>И один из ключевых принципов этого стиля — по максимуму использовать существующие абстракции HTTP. Ты же тут пропагандируешь прямо противоположное.
P>Так он был определен. Тем не менее, все теории развиваются
Это основополагающий принцип. Если от него отказаться, это уже будет совсем не REST.
P>>>Вы изобрели способ вытолкнуть бизнес-логику в инфраструктуру.
НС>>Это вопрос выбора точки зрения, является ли идемпотентность частью бизнес-логики или нет.
P>Изначально идемпотентность нужна для бизнес-логики.
Нет. Ты RFC то читал? Там ясно прописана цель — обеспечить отсутствие дублей при ретраях. Это — не бизнес логика, это инфраструктурная логика для борьбы с ненадежностью канала передачи.
Я тебе больше скажу, при использовании решений типа istio эта логика с клиентской стороны вообще физически уезжает из бизнес-кода в отдельный инфраструктурный контейнер. Что характерно, как раз благодаря тому, что абстракции уровня HTTP в REST не игнорируются, и содержимое на уровне HTTP обладает достаточной семантикой чтобы обеспечить довольно сложные вещи типа кеширования или ретраев находясь на уровне HTTP и ничего не зная про бизнес-логику. Если же ты абстрагируешься от протокола, такие решения станут невозможными.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>