У меня есть API, в котором запрос на размещение может не привести к изменению базовых данных. Если это происходит, я отправляю обратно 200, а ETag остается таким же, каким он был, если бы ничего не произошло. Однако клиент может не осознавать, что ничего не изменилось, поскольку он не обязательно будет отслеживать значения ETag. И значение 200 означает, что операция завершена успешно, хотя на самом деле это не так, поскольку намерением было ПОЛОЖИТЬ, но на самом деле данные не были ПОЛОЖЕНЫ.
Итак, мне интересно, есть ли лучший способ справиться с этим, чтобы предупредить клиента о том, что ему «нечего делать», потому что его запрос фактически не изменил данные. Я думаю отправить дополнительный заголовок X-Request, но это кажется неэлегантным. Есть ли какие-либо коды состояния, которые мне не хватает, которые могут подойти для этого варианта использования?