使用REST将数据保存到Firebase
我正在使用Firebase存储带有名称的应用程序令牌,使用restapi。 这是我正在使用的数据结构: 这是我添加新应用程序后的数据结构。 这是我使用的命令 我不想要POST请求添加到我的数据结构中的唯一ID。我已经尝试过PUT请求,但它覆盖了“应用程序”节点中的所有数据。无论如何,这是我尝试过的PUT命令使用REST将数据保存到Firebase,rest,curl,firebase,Rest,Curl,Firebase,我正在使用Firebase存储带有名称的应用程序令牌,使用restapi。 这是我正在使用的数据结构: 这是我添加新应用程序后的数据结构。 这是我使用的命令 我不想要POST请求添加到我的数据结构中的唯一ID。我已经尝试过PUT请求,但它覆盖了“应用程序”节点中的所有数据。无论如何,这是我尝试过的PUT命令 curl -X POST -d "{\"3ba7792jae16328\":{\"name\":\"Test 2\"}}" \ https://xxx.firebaseio.com/ap
curl -X POST -d "{\"3ba7792jae16328\":{\"name\":\"Test 2\"}}" \ https://xxx.firebaseio.com/apps.json
是否有其他方法添加数据并保留我的结构?
(将自动生成的POST令牌用作我自己的应用程序令牌不是有效答案)您应该将自己生成的ID放入URL: Firebase始终覆盖(除非您使用)指定URL处的整个节点。因此,将URL指定到要覆盖数据的级别非常重要。有两种方法:
- 如果要在行上添加:
方法:将
url:
数据:https://yourID.firebaseio.com/pages/your_object_name.json
- 如果要添加多行,请执行以下操作:
方法:补片
url:
数据:https://yourID.firebaseio.com/pages.json
-X POST
参数的情况下运行,那么我不确定。Firebase在这里遵循REST-ful模式,数据更新需要POST
、PUT
或PATCH
动词进行数据更新。如果您可以让curl在不使用-xpost
的情况下发出这些动词中的一个,那么就可以解决这个问题。或者,Firebase有一个“方法覆盖”,但这只会用更长的内容替换-X POST
:
curl -X POST -d "{\"3ba7792jae16328\":{\"name\":\"Test 2\"}}" \ https://xxx.firebaseio.com/apps.json
curl -X POST -d "{\":{\"name\":\"Test 2\"}" \ https://xxx.firebaseio.com/apps/3ba7792jae16328.json
{
"1": {
"id": "5",
"name": "page 4"
}
}
{
"1": {
"id": "5",
"name": "page 4"
},
"2": {
"id": "5",
"name": "page 4"
},
"3": {
"id": "5",
"name": "page 4"
}
}