У меня есть конечная точка запроса POST, где пользователь повторно публикует данные. Прежде чем вставлять данные в базу данных на основе пользовательского запроса, я проверяю, существует ли запись. - Если запись уже существует, я вернусь 200 OK с телом ответа, содержащего table_id и статусом - Если запись не существует, я создаю новую запись и вернуть 200 OK с телом ответа, содержащим table_id и статусомRESTful POST-запрос, если запись уже существует в данных POST, возвращаем ли мы 200 OK или 304 Not Modified?
В основном в обеих случаи, пользователь получает статус 200. Как пользователь, это может смущать, поскольку невозможно было отличить ли его новую запись или существующую запись.
Я думал, что верну 304 тело ответа и сообщите потребителю, что этот запрос «не изменен», таким образом, потребители приняли бы решение.
Является ли это хорошей практикой или существует альтернативный подход в принципах RESTful.
Здесь я нахожу эту интересную тему [http-response-code-for-post-when-resource-уже существует] (https://stackoverflow.com/questions/3825990/http-response-code-for- после когда-ресурсы уже существует? RQ = 1). Какой из них желательно использовать 302 - НАЙДЕН, 303 - См. Прочее, 304 - Не изменено. 302 для меня больше смысла :-) –
RFC [link] (https://tools.ietf.org/html/rfc7231#section-4.3.3) отмечает, что следует использовать 303 (см. Раздел «Прочее»). – Nullius
Возможный дубликат [HTTP-кода ответа для POST, когда ресурс уже существует] (https://stackoverflow.com/questions/3825990/http-response-code-for-post-when-resource-already-exists) –