Usar tipos de entrada y enumeración

Usar tipos de entrada y enumeración

Utilizando tipos de entrada, hemos mejorado la reutilización de los parámetros pasados ​​al cambio, a la vez que no somos propensos a errores. Al combinar tipos de entrada y tipos enumerados, podemos especificar más específicamente los tipos de entrada que se pueden proporcionar para campos específicos. El tipo de entrada y el tipo de enumeración son muy fáciles de usar y se pueden usar conjuntamente para obtener más resultados.

imagen

  • Ejecutar cambios con nuevo tipo de entrada

imagen

También debe enviar el JSON correspondiente en el panel Variables de consulta:

imagen

Si no se proporciona el campo de categoría, el valor predeterminado es RETRATO. En otras palabras, si proporcionamos un valor de categoría, realizará la verificación del tipo de enumeración antes de que la operación se envíe al servidor. Si es válido, páselo como parámetro al analizador.

  • Conexión uno a muchos

Debido a que las conexiones se crean utilizando campos de tipo de objeto, pueden asignarse a funciones de analizador. En estas funciones, podemos usar el parámetro padre para determinar y devolver los datos conectados.

imagen

  • Conexión de muchos a muchos

imagen

GraphQL no requiere una coincidencia exacta de tipos en el modelo y esquema de datos.

Escalar personalizado

GraphQL tiene su tipo escalar predeterminado, que puede usarse para cualquier campo. Los escalares como Int, Float, String, Boolean e ID son adecuados para la mayoría de las situaciones, pero hay casos en los que necesita crear tipos escalares personalizados para cumplir con los requisitos de datos.

El escalar DateTime personalizado se agrega a nuestros typeDefs y se usa en el tipo Photo del campo creado. El campo creado se usa para almacenar la fecha y hora de lanzamiento de una foto específica:

imagen

Cada campo del esquema debe asignarse a un analizador sintáctico. Por supuesto, los tipos personalizados también deben asignarse a analizadores de tipos DateTime. Creamos un tipo escalar personalizado para DateTime porque queremos analizar y verificar cualquier campo que use este escalar como un tipo de fecha JavaScript.

Porque hay muchos formatos para representar la fecha y la hora como una cadena. Por ejemplo, las siguientes cadenas representan fechas válidas: ● "18/04/2018" ● "18/04/20181: 30: 00 PM" ● "Dom Abr 15201812: 10: 17 GMT-0700 (PDT)" ● " 2018-04-15T19: 09: 57.308Z "Podemos usar cualquiera de estas cadenas para crear un objeto de fecha y hora:

imagen

Utilizamos el objeto GraphQLScalarType para crear un analizador para escalar personalizado

Supongo que te gusta

Origin www.cnblogs.com/liuxiaokun/p/12676812.html
Recomendado
Clasificación