с помощью REST вы можете управлять ресурсами. Если lock это ресурс, то он создаётся и удаляется. Если это элемент ресурса то он изменяется. Как статус. Может я лочу изменяя статус на LOCKED. Тогда я использую патч.
если ты мэпишь "сущности на ресурсы" то не надо писать свой бэк, возьми готовые обертки над СУБД и живи счастливо с той апишкой которую они тебе генерят.
Секундочку, если я не хочу все атрибуты ресурса передавать - а мне нужно только например имя обновить. Чем не PATCH? Хотя тогда на клиенте надо будет как-то решать что обновилось, но это тоже можно сделать
если у тебя тупой круд то ты всегда будешь отправлять "всю форму". Если тебе надо чет хитрое делать - например генерить diff и отправлять только то что поменялось - то ты можешь получить профит от PATCH если ты юзаешь всякие json patch спецификации к нему (да да, PATCH он не просто "хуяк отправить только пару полей"). Простой юзкейс - ресет значения.
если у тебя "форма" динамически генерится и нужно сохранять по мере ввода данных - то там да можно прибегать к каким-то хитрым дифам и т.д. но "скорее всего" у тебя каждое поле такой формы само по себе ресурс и для экономии ты чет типа batching делать будешь