Generar JSON de introspección de GraphQL — Numio
Convierte SDL de GraphQL en el resultado JSON de una query de introspección estándar con @graphql-codegen/introspection. La salida contiene un objeto __schema de nivel superior con los tipos raíz, todos los tipos (incluidos los integrados) y las directivas.
Generar un schema.json para herramientas que esperan JSON de introspección en lugar de SDL, como algunos plugins de IDE y generadores de clientes.
Cuándo usarla
- Generar un schema.json para herramientas que esperan JSON de introspección en lugar de SDL, como algunos plugins de IDE y generadores de clientes.
- Ver cómo se envuelve el tipo de un campo en los kinds NON_NULL y LIST dentro de los datos de introspección.
Cómo usarla
- Pega el SDL del esquema en el editor GraphQL Schema.
- Espera al JSON en el panel Introspection JSON; incluso un esquema de un solo campo produce unas mil líneas.
- Copia o descarga el JSON y guárdalo, por ejemplo como schema.json.
Esquema GraphQL
type Query {
hello(name: String): String!
}JSON de introspección
{
"__schema": {
"queryType": {
"name": "Query"
},
"mutationType": null,
"subscriptionType": null,
"types": [
{
"kind": "OBJECT",
"name": "Query",
"description": null,
"fields": [
{
"name": "hello",
"description": null,
"args": [
{
"name": "name",
"description": null,
"type": {
"kind": "SCALAR",
"name": "String",
"ofType": null
…Detalles y limitaciones
Siempre se incluyen los escalares integrados (String, Boolean), los tipos de introspección (__Schema, __Type, __Field y otros) y las directivas integradas (include, skip, deprecated, specifiedBy).
El JSON no va envuelto en una clave "data"; empieza directamente por __schema.
La conversión se ejecuta en un Web Worker de tu navegador. Esta página solo recibe un esquema; no consulta ningún endpoint en vivo.
FAQ
¿Puedo obtener el JSON de introspección desde una URL?
No. La página convierte el SDL que pegas; no envía queries de introspección a ningún servidor. Exporta primero el SDL desde tu servidor y pégalo aquí.
¿Se incluyen los campos obsoletos?
Sí. Cada campo y valor de enum aparece con isDeprecated y deprecationReason, así que los campos marcados con @deprecated aparecen con isDeprecated: true.
¿Por qué la salida es tan grande para un esquema pequeño?
Los resultados de introspección describen todo el sistema de tipos, incluidos los escalares integrados, los metatipos de introspección y las definiciones de directivas, no solo tus propios tipos.