使用 REST 将数据保存到 Firebase

Saving data to Firebase with REST

我正在使用 Firebase 存储带有名称的应用程序令牌,使用 REST api。

这是我正在使用的数据结构:

这是我添加新应用后的数据结构

这是我使用的命令。

curl -X POST -d "{\"3ba7792jae16328\":{\"name\":\"Test 2\"}}" \ https://xxx.firebaseio.com/apps.json

我不想要 POST 请求添加到我的数据结构中的唯一 ID。我已经尝试过 PUT 请求,但它覆盖了 "apps" 节点内的所有数据。无论如何,这是我尝试过的 PUT 命令。

curl -X POST -d "{\"3ba7792jae16328\":{\"name\":\"Test 2\"}}" \ https://xxx.firebaseio.com/apps.json

还有其他方法可以添加数据并保留我的结构吗?

(使用自动生成的 POST 令牌作为我自己的应用程序令牌不是有效答案)

您应该将您自己生成的 ID 放入 URL:

curl -X POST -d "{\":{\"name\":\"Test 2\"}" \ https://xxx.firebaseio.com/apps/3ba7792jae16328.json

Firebase 始终覆盖(除非您使用 PATCH)您指定的 URL 处的整个节点。因此,将 URL 指定为要覆盖数据的级别非常重要。

有两种方法:

  • 如果要添加行:

    方法:PUT

    url: https://yourID.firebaseio.com/pages/your_object_name.json

    数据:

    {
      "1": {
        "id": "5",
        "name": "page 4"
      }
    }
    
  • 如果要添加多行:

    方法:补丁

    url: https://yourID.firebaseio.com/pages.json

    数据:

    {
      "1": {
        "id": "5",
        "name": "page 4"
      },
      "2": {
        "id": "5",
        "name": "page 4"
      },
      "3": {
        "id": "5",
        "name": "page 4"
      }
    }