【问题标题】:How can I check if a key exists in my db using Firebase REST API?如何使用 Firebase REST API 检查我的数据库中是否存在密钥?
【发布时间】:2016-08-05 05:50:34
【问题描述】:

我正在使用 Firebase REST API。我想在写入之前检查我的数据库中是否存在密钥。如果它不存在,我想创建它并将一组默认数据写入该键。如果确实存在,我想更新该键的数据。

现在我正在尝试通过发送对该密钥的 GET 请求,如下例所示:

curl 'https://docs-examples.firebaseio.com/rest/saving-data/fireblog/posts.json?print=pretty'

并检查响应数据。但是,如果键不存在,则响应数据为空,但如果在检索数据时出现任何其他类型的错误,它也会显示为空。

是否有另一种方法可以使用 REST API 检查密钥是否存在,例如我可以使用的 URI 参数?如果不是,有没有办法判断响应数据是空的,是因为key不存在,还是因为有错误?

【问题讨论】:

    标签: rest firebase firebase-realtime-database


    【解决方案1】:

    当位置为空时,REST API 将返回 200 状态代码和 null 正文。其他错误将返回4xx5xx 状态码。

    curl -I https://example.firebaseio.com/does/not/exist.json
    
    HTTP1/1 200 OK
    ...
    

    【讨论】:

    • 我认为这对我有用,但我发现即使用户确实存在,REST API 偶尔也会返回带有空响应正文的状态代码 200。我不知道为什么会发生这种情况——它只是偶尔发生。我可以将任何其他建议与状态代码结合使用以确保查询正确报告用户不存在?
    • @Sarah 您是否找到了解决问题的方法或者您仍然遇到问题?
    猜你喜欢
    • 2020-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多