Проверить, существует ли значение перед удалением из Firebase? - PullRequest
0 голосов
/ 09 июля 2020

В настоящее время я работаю над REST API, написанным на Node, пользовательские данные хранятся в Firebase. Если мой API успешно обрабатывает запрос на удаление, он отправляет ответный код 204, но должен ли я сначала проверить, существует ли значение, которое пользователь хочет удалить? Я не считаю правильным отправлять код 204, когда на самом деле ничего не происходит, если значение даже не существует. Это один из моих первых REST API, поэтому я не совсем уверен, как правильно с этим справиться. Может ли кто-нибудь указать мне правильный путь, когда дело доходит до обработки запросов DELETE?

1 Ответ

1 голос
/ 09 июля 2020

Все API Firebase (как Realtime Database, так и Firestore - вы не сказали, какие) работают следующим образом. Ответ об успешном удалении указывает, что данные только что подтверждены, что не существуют, а не , что данные ранее присутствовали, но теперь их нет. Он не работает как файлы в файловой системе, где такие программы, как rm, не работают, если файл не существует.

Если вам нужно знать, существовали ли данные ранее, но были ли они только что был удален, единственный способ узнать, что это наверняка, - это использовать транзакцию для выполнения операции чтения и записи. Это единственный способ узнать наверняка, что операция удаления, которую вы выполнили, на самом деле просто удалила данные.

Если для вас не имеет значения, были ли удалены данные и как они были удалены или их никогда не существовало, просто согласитесь, что операция удаления подтвердила, что данные не существуют.

...