POST-запрос на конфликт мягкой удаленной сущности, когда предоставлен внешний PK - PullRequest
0 голосов
/ 21 марта 2019

Я работаю над особой интеграцией с клиентом, который отправляет нам данные через наши RESTful API.Они устанавливают PK для данных POST, чтобы они соответствовали их собственным и устраняют необходимость в отображении на их стороне.

Данные, которые мы получаем, являются лишь подмножеством их таблиц, которые имеют отношение к нашему проекту.Мы реализовали мягкое удаление всех API.Данные, которые заархивированы в их системе, вызывают УДАЛЕНИЕ от наших.Проблема в том, что делать, когда эти данные не разархивированы.Они отправляют запрос POST с PK, который существует в наших таблицах (поскольку старый заархивированный объект помечен только для удаления), и они по праву видят код CONFLICT 409.

Это не имеет значения, если мы сгенерировали нашсобственные ключи, но сопоставление на их стороне для каждого POST не может быть и речи.Мы также могли бы решить проблему, сохранив ВСЕ данные и скопировав их архивную функциональность.Или мы можем предоставить как мягкое удаление, так и полное удаление.Последний вариант сложно реализовать, так как мы используем JPA в Spring с аннотацией @SQLDelete, переопределяющей функциональность em.remove по умолчанию.

Есть ли приемлемый дизайн для такого поведения?Я не смог найти примеров этого конкретного сочетания повторного использования PK с программным удалением.

PS Это мой первый пост здесь, поэтому, пожалуйста, дайте мне знать, если есть лучший способ спросить такого родавопросов или любой другой необходимой информации

...