2 votes

Poster une requête à firebase sans clé unique

Je veux envoyer de nouvelles données à mon API firebase, mais à chaque fois que je le fais, une nouvelle clé, du genre -L545gZW7E6Ed6iqXRok est généré avec mon objet à l'intérieur. Je voudrais sauvegarder mon objet directement dans l'API sans cette nouvelle clé. Cette question de l'OS répond à comment le faire en utilisant la méthode set(), mais j'aimerais y parvenir en utilisant Postman. Je poste directement à firebase en utilisant Postman. url : https://my-firebase-project.firebaseio.com/galaxies.json avec la méthode POST.

//current saving like this in firebase
"0000001" : {
  "active": false,
  "name": "tp-milky-way",
  "time": 60
},
"-L545gZW7E6Ed6iqXRok": {
    "0000011": {
      "active": false,
      "name": "tp-andromeda",
      "time": 60
    }
}

//I want it without the key
"0000001" : {
  "active": false,
  "name": "tp-milky-way",
  "time": 60
},
"0000011" : {
  "active": false,
  "name": "tp-andromeda",
  "time": 60
}

EDIT : J'ai découvert que je peux utiliser PUT avec l'objet json entier qui a été initialement 'mis' à firebase avec les ajouts ou les suppressions, et firebase compare la nouvelle requête put avec ce qui est déjà là et met à jour en conséquence. Je ne sais pas si le comportement est tel que je le comprends ou s'il n'y a pas une meilleure façon d'ajouter des données sans clés générées automatiquement.

3voto

Frank van Puffelen Points 16029

Lorsque vous utilisez le POST verbe Firebase génère un nouvel emplacement. Ceci est conforme aux idiomes REST-ful : POST est utilisé pour créer un nouvel objet dans un nouvel emplacement défini par le serveur.

Si vous souhaitez écrire dans un emplacement existant, ou dans un nouvel emplacement que vous contrôlez, utilisez la commande PUT verbe . Dans ce cas, les données seront écrites exactement à l'endroit que vous avez spécifié dans l'URL, et elles écraseront toutes les données existantes à cet endroit.

Si vous souhaitez mettre à jour une partie des données à un emplacement existant, mais laisser d'autres éléments de données inchangés, utilisez la fonction PATCH verbe .

Si votre client HTTP ne supporte pas la spécification d'un verbe, vous pouvez optionnellement passer le verbe comme HTTP-Method-Override en-tête .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X