У меня есть RESTful Web API (написанный на ASP .Net Core 2.1), который получает «журнал изменений» от клиентского приложения-потребителя. Это класс JSON, содержащий все изменения в базе данных, которые были выполнены в клиентском приложении, когда оно работало в автономном режиме. После того, как клиентское приложение переходит в онлайн, оно синхронизирует свою базу данных с онлайн-базой данных, отправляя API все изменения, произошедшие с момента последней синхронизации. Таким образом, он отправляет API набор изменений / журнал изменений с кучей списков UPDATE, INSERT и DELETE для различных таблиц / объектов.
Что касается API, я фактически ничего не удаляю из действующей базы данных - я просто помечаю вещи как удаленные (поэтому я устанавливаю логическое поле в значение true, т.е. deleted
= true). Таким образом, технически API выполняет только ВСТАВКИ и ОБНОВЛЕНИЯ в базе данных.
Теперь я не согласен с тем, как клиент-потребитель должен называть эту конечную точку «синхронизации» API. Должен ли он называться POST или PUT-запросом? Поскольку API фактически выполняет как ОБНОВЛЕНИЯ, так и ВСТАВКИ ... Какой HTTP-глагол более уместен? Это вообще имеет значение?