Мне интересно, имеет ли смысл мой нынешний подход или есть лучший способ сделать это.
У меня есть несколько ситуаций, когда я хочу создавать новые объекты и позволять серверу назначать идентификатор этим объектам. Отправка запроса POST представляется наиболее подходящим способом для этого. Однако, поскольку POST не является идемпотентным, запрос может быть потерян, а отправка его снова может создать второй объект. Кроме того, запросы, которые могут быть потеряны, могут быть довольно распространены, поскольку API часто получают доступ через мобильные сети.
В результате я решил разделить все это на двухэтапный процесс. Сначала отправляем запрос POST для создания нового объекта, который возвращает URI нового объекта в заголовке Location. Во-вторых, выполнение идемпотентного запроса PUT в предоставленное местоположение для заполнения нового объекта данными. Если новый объект не заселен в течение 24 часов, сервер может удалить его через какое-то пакетное задание.
Звучит ли это разумно или есть лучший подход?
Спасибо