Это принципиально передовая практика вопрос. В моем Rest API (который я сейчас работаю) у меня есть маршруты, соответствующие PUT
и DELETE
запросам по URL-адресам, таким как /resources/{resourceID}
. За API лежит SQL DB.Rest API UPDATE/DELETE - проверить, существует ли ресурс или нет?
В общем, выполнение DELETE
или UPDATE
запрос на несуществующий идентификатор ресурса в базах данных SQL не дает ошибку, только affectedRows
возвращает 0.
Теперь у меня есть вопрос о том, как выполнить такой запрос правильно:
- проверка, если ресурс с указанным идентификатором существует до
UPDATE
илиDELETE
(который включает в себя дополнительный запрос SQL) - вызвать witho запроса
UPDATE
/DELETE
ut для проверки наличия и проверки результата запроса SQL и возвратаHTTP 404
в случае, еслиaffectedRows == 0
?
Я лично предпочитаю более поздний. Но я могу думать о других СУБД (не SQL или не реляционных), где выполнение, UPDATE
или DELETE
запросов может не возвращать информацию о затронутых строках. Как действовать в таких случаях?
Посмотрите здесь: https://github.com/for-GET/http-decision-diagram –