GraphQL Cookbook
Creazione di un oggetto
8 min
creare un oggetto tramite l'api graphql di parse problema vuoi creare un nuovo oggetto nel tuo database tramite l'api graphql di parse soluzione utilizzando il graphql di parse, ci sono due modi diversi per creare un nuovo oggetto nel tuo database https //www back4app com/docs/parse graphql/graphql mutation create object#mutation generic questa è la mutazione che devi utilizzare se non hai già creato la classe del tuo oggetto https //www back4app com/docs/parse graphql/graphql mutation create object#mutation class questa è la mutazione consigliata se hai già creato la classe del tuo oggetto informazioni sulla versione a seconda della versione di parse che scegli di eseguire, le query graphql, le mutazioni e i risultati saranno leggermente diversi si prega di scegliere l'esempio corretto insieme alla versione di parse che stai eseguendo utilizzando una mutazione generica quando utilizzi la crea crea mutazione generica, parse server si comporta come un database senza schema ciò significa che non è necessario definire la classe del tuo oggetto nello schema della tua applicazione in anticipo devi solo inviare i dati del tuo oggetto, e parse server non solo li memorizzerà , ma imparerà anche da essi e creerà automaticamente una nuova classe nello schema della tua applicazione pertanto, la mutazione generica crea crea è il metodo che devi utilizzare per creare un nuovo oggetto se non hai già creato la classe del tuo oggetto puoi anche utilizzare questa mutazione per creare un oggetto di classi preesistenti, ma, per questi casi, ti consigliamo di utilizzare la https //www back4app com/docs/parse graphql/graphql mutation create object#mutation class classe request #in parse 3 10 0 and later you must first create the class itself 1 mutation createclass { 2 createclass(input { 3 name "hero" 4 schemafields { 5 addstrings \[{name "name"}] 6 addnumbers \[{name "height"}] 7 } 8 }){ 9 class{ 10 schemafields{ 11 name 12 typename 13 } 14 } 15 } 16 } response 1 { 2 "data" { 3 "createclass" { 4 "class" { 5 "schemafields" \[ 6 { 7 "name" "objectid", 8 " typename" "schemastringfield" 9 }, 10 { 11 "name" "updatedat", 12 " typename" "schemadatefield" 13 }, 14 { 15 "name" "createdat", 16 " typename" "schemadatefield" 17 }, 18 { 19 "name" "name", 20 " typename" "schemastringfield" 21 }, 22 { 23 "name" "height", 24 " typename" "schemanumberfield" 25 }, 26 { 27 "name" "acl", 28 " typename" "schemaaclfield" 29 } 30 ] 31 } 32 } 33 } 34 } oggetto request 1 mutation createobject{ 2 createhero(input {fields {name "luke skywalker"}}){ 3 hero{ 4 id 5 name 6 } 7 } 8 } response 1 { 2 "data" { 3 "createhero" { 4 "hero" { 5 "id" "sgvybzo5qjfpmufxcxn1", 6 "name" "luke skywalker" 7 } 8 } 9 } 10 } utilizzando la mutazione di classe una volta che hai già creato la classe del tuo oggetto nello schema della tua applicazione (ad esempio, utilizzando il https //www back4app com/docs/parse graphql/graphql mutation create object#mutation generic ), parse server aggiunge istantaneamente alla tua api graphql una nuova create\<classname> create\<classname> mutazione per creare un nuovo oggetto di questa classe pertanto, la mutazione della classe dell'oggetto è il metodo raccomandato per creare un nuovo oggetto se hai già creato la classe del tuo oggetto poiché questa mutazione conosce i dati della tua classe, renderà automaticamente disponibili per te funzionalità aggiuntive come il completamento automatico del codice e la validazione non è necessario specificare i tipi di dati quando si inviano date, puntatori, relazioni, file, punti geografici, poligoni o byte tramite la mutazione di creazione della classe questo esempio funzionerà solo se hai già creato la classe del tuo oggetto puoi creare una classe utilizzando il https //www back4app com/docs/parse graphql/graphql mutation create object#mutation generic request 1 mutation createobject{ 2 createhero(input {fields {name "r2 d2"}}){ 3 hero{ 4 id 5 createdat 6 } 7 } 8 } response #notice the id property refers to the global id in the relay specification, not to confuse with the objectid from parse 1 { 2 "data" { 3 "createhero" { 4 "hero" { 5 "id" "sgvybzpvrm5tvdm1ynbp", 6 "createdat" "2020 02 06t13 13 26 678z" 7 } 8 } 9 } 10 } versioni precedenti di parse server parse server 3 9 0 mutazione generica classe richiesta #in parse 3 9 0 devi prima creare la classe stessa 1 mutation createclass { 2 createclass( 3 name "hero" 4 schemafields { 5 addstrings \[{name "name"}] 6 addnumbers \[{name "height"}] 7 }){ 8 schemafields{ 9 name 10 typename 11 } 12 } 13 } risposta 1 { 2 "data" { 3 "createclass" { 4 "schemafields" \[ 5 { 6 "name" "objectid", 7 " typename" "schemastringfield" 8 }, 9 { 10 "name" "updatedat", 11 " typename" "schemadatefield" 12 }, 13 { 14 "name" "createdat", 15 " typename" "schemadatefield" 16 }, 17 { 18 "name" "name", 19 " typename" "schemastringfield" 20 }, 21 { 22 "name" "height", 23 " typename" "schemanumberfield" 24 }, 25 { 26 "name" "acl", 27 " typename" "schemaaclfield" 28 } 29 ] 30 } 31 } 32 } oggetto richiesta #e poi crea l'oggetto \#in parse 3 9 0 devi prima creare la classe stessa 1 mutation createobject{ 2 createhero(fields { 3 name "luke skywalker" 4 }){ 5 id 6 createdat 7 } 8 } risposta 1 { 2 "data" { 3 "createhero" { 4 "id" "ckhurmmjzw", 5 "createdat" "2019 11 04t12 37 22 462z" 6 } 7 } 8 } mutazione della classe parse server 3 9 0 1 mutation createobject{ 2 createhero(fields { 3 name "r2 d2" 4 }){ 5 id 6 createdat 7 } 8 } risultato parse 3 9 0 1 { 2 "data" { 3 "createhero" { 4 "id" "n5grpei0il", 5 "createdat" "2019 11 04t12 45 00 882z" 6 } 7 } 8 } parse server 3 8 0 mutazione generica parse server 3 8 0 1 mutation createobject { 2 create(classname "hero" fields { 3 name "luke skywalker" 4 }){ 5 objectid 6 createdat 7 } 8 } risultato parse 3 8 0 1 { 2 "data" { 3 "objects" { 4 "create" { 5 "objectid" "ffyobotk85", 6 "createdat" "2019 07 15t01 25 20 875z" 7 } 8 } 9 } 10 } mutazione di classe parse server 3 8 0 1 mutation createhero { 2 createhero(fields { name "r2 d2" }) { 3 objectid, 4 createdat 5 } 6 } risultato parse 3 8 0 1 { 2 "data" { 3 "createhero" { 4 "objectid" "tuecddcgno", 5 "createdat" "2019 11 04t12 44 10 951z" 6 } 7 } 8 } parse server 3 7 2 mutazione generica parse server 3 7 2 1 mutation createobject { 2 objects { 3 create(classname "hero", fields { name "luke skywalker" }) { 4 objectid, 5 createdat 6 } 7 } 8 } risultato parse 3 7 2 1 { 2 "data" { 3 "objects" { 4 "create" { 5 "objectid" "kr9aqnzfui", 6 "createdat" "2019 07 15t01 25 20 875z" 7 } 8 } 9 } 10 } mutazione di classe parse server 3 7 2 1 mutation createhero { 2 objects { 3 createhero(fields { name "r2 d2" }) { 4 objectid, 5 createdat 6 } 7 } 8 } risultato parse 3 7 2 1 { 2 "data" { 3 "objects" { 4 "createhero" { 5 "objectid" "jjh0aqqjfs", 6 "createdat" "2019 07 15t02 22 04 982z" 7 } 8 } 9 } 10 }