Здравствуйте, Sinclair, Вы писали:
S>Это нифига не часть "бизнес-логики". Бизнес-логика там ровно та же, что и в HTTP — есть запрос, есть ответ. А вот какие конкретно будут методы в HTTP, или коды ошибок, или структура и нумерация UDP-пакетов — это слишком низкий для BL уровень.
Хорошо, я согласен, идемпотентность не относится к бизнес-логике.
Вот у нас есть два варианта реализации операции, что выберешь?
Явный контроль идемпотентности
@Post('/orders')
operation(order: Delta<Order>, idempotencyKey: string): Promise<Order>
Магический
@Post('/orders')
@Idempotent()
operation(order: Delta<Order>): Promise<Order>