Ugrás a tartalomhoz
100% helyi

JSON GraphQL SDL-be

JSON dokumentumot GraphQL típusokká alakít, amelyeket Schema Definition Language-ben írnak le.

Bemenet
Kimenet

JSON GraphQL SDL-be

Írja be a JSON objektumot vagy objektumok tömbjét, és ez az eszköz GraphQL típusokat származtat, amelyeket Schema Definition Language-ben írnak le. Ez egy gyors módja annak, hogy elindítson egy sémát egy valós API-válaszból, egy adatbázis-exportból vagy egy mintapayload-ból, ahelyett, hogy minden mezőt és típust kézzel vinne be.

A skalárok a JSON értékekből következtethetők: a karakterláncok String-ként jelennek meg, az egész számok Int-ként, a tizedesek Float-ként, az igaz/hamis pedig Boolean-ként. Az "id" nevű mező ID-ként kerül beírásra, ha karakterláncot vagy egész számot tartalmaz, ahogyan a legtöbb GraphQL API azonosítja a rekordokat. Azok a mezők, amelyeknek a minta értéke null, opcionálisként vannak megjelölve; minden más mező megkapja a szükséges jelölést ("!"). A beágyazott objektumok saját elnevezett típusokká válnak, amelyekre az szülő hivatkozik, és a szerkezetileg azonos beágyazott objektumok egyetlen típusba egyesülnek, ahelyett, hogy megismétlődnének. A tömbök listatípusokká válnak, az elem típusa a tömb tartalmából következik.

Két további opció alakítja az kimenetet: az egyéni scalar opció bekapcsolása felismeri az ISO dátum és dátum-idő karakterláncokat, és "scalar Date" vagy "scalar DateTime" helyett deklarálja őket, és az "Előállítás típusa" választás a "type" (lekérdezésekhez) és az "input" (mutációs argumentumokhoz) között váltogat. A "Query típus belefoglalása" bekapcsolása egy kis Query típust ad hozzá egy mezővel, amely a gyökér típusát visszaadja, így a séma rögtön beilleszthető egy kiszolgálóba vagy egy séma-első eszközbe.

Minden helyileg futtatódik a böngészőben – a beillesztett JSON soha nem kerül sehová feltöltésre. Másolja a generált SDL-t, töltse le .txt fájlként, vagy küldje el közvetlenül egy másik eszköz bemenetébe, hogy folytathassa a munkát.

Gyakori kérdések

Hogyan dönt arról, hogy egy mező szükséges-e?
Egy mező "!" (szükséges) jelöléssel kerül megjelölésre, hacsak annak minta értéke a JSON-ban null, ebben az esetben opcionálisként marad.
Hogyan kezelik a beágyazott objektumokat és listákat?
Minden beágyazott objektum saját elnevezett GraphQL típussá válik, amelyre az szülő hivatkozik. Az azonos beágyazott alakzatok egyetlen típusként kerülnek újrafelhasználásra. A tömbök listatípusokká válnak, az elem típusa a tömb tartalmából származik.
Mit tesz az "ID észlelése az 'id' mezőből"?
Ha engedélyezve van, minden "id" nevű mező, amely karakterláncot vagy egész számot tartalmaz, a GraphQL beépített ID skaláraként kerül beírásra, a String vagy Int helyett.
Készíthetek GraphQL input típusokat az objektum típusok helyett?
Igen. Az "Előállítás típusa" kapcsolót "input" értékre állítva input Name { … } blokkokat kap, amely hasznos a mutációs argumentumokhoz. A Query wrapper csak a "type" kimenethez adódik hozzá, mivel egy Query mező nem adhat vissza input típust.
A JSON-om feltöltésre kerül valahova?
Nem. Az átalakítás teljesen a böngészőben futtatódik – a JSON soha nem hagyja el az eszközt.