3 repositorios
Logic to verify that required arguments defined in a GraphQL schema are present in a query.
Distinguishing note: Existing candidates focus on CLI, mock, or plugin arguments, not GraphQL schema-driven argument validation.
Explore 3 awesome GitHub repositories matching web development · GraphQL Argument Validations. Refine with filters or upvote what's useful.
This project is a GraphQL implementation for Go, providing a complete suite for building GraphQL servers. It includes a schema engine for defining types, a query parser to convert strings into abstract syntax trees, and an execution engine that resolves fields against a defined schema to return structured data. The library distinguishes itself through reflection-based type mapping, allowing object definitions and arguments to be derived directly from native Go structs. It also supports the execution of real-time data streaming via GraphQL subscriptions and provides an extensible execution pip
Checks that all non-nullable arguments defined in the schema are provided in a query.
GraphQL.NET es un framework del lado del servidor para construir y ejecutar APIs de GraphQL dentro de aplicaciones C#. Proporciona un toolkit integral para la construcción de esquemas, un motor federado para grafos de datos distribuidos y un manejador de suscripciones para gestionar flujos de datos en tiempo real. El proyecto se distingue por un constructor de esquemas flexible que admite tanto definiciones programáticas code-first como enfoques declarativos schema-first utilizando el lenguaje de definición de esquemas estándar. Incluye un motor de federación dedicado para dividir grafos de datos en subgrafos y componerlos en una puerta de enlace unificada, así como una implementación de cargador de datos (data loader) diseñada específicamente para resolver el problema de consultas N+1 mediante procesamiento por lotes y caché. El framework cubre una amplia gama de capacidades operativas, incluyendo la integración de inyección de dependencias para la gestión del ciclo de vida de los servicios, pipelines de middleware para la interceptación de resolución de campos y un pipeline de ejecución optimizado con tipos de valor para reducir las asignaciones de memoria. También proporciona herramientas para el análisis de complejidad de consultas, caché de documentos y control de acceso basado en roles para asegurar los endpoints de la API. La compatibilidad con la compilación de esquemas ahead-of-time permite que el framework se ejecute en entornos que prohíben la generación dinámica de código.
Enforces complex constraints across multiple arguments during the query validation stage.
GraphQL-Ruby es una biblioteca de Ruby para construir APIs de GraphQL con un esquema fuertemente tipado y un motor de ejecución de consultas dedicado. Proporciona un framework integral para mapear objetos de la aplicación a un sistema de tipos formal, permitiendo la obtención estructurada de datos mediante resolvers definidos. El proyecto destaca por sus mecanismos avanzados de rendimiento y entrega, incluyendo un data loader para batching y caché que evita patrones de consulta N+1. Admite la entrega de datos de alto rendimiento mediante streaming de respuestas incremental, respuestas de consulta diferidas y obtención de datos en paralelo usando fibers. Además, proporciona soporte nativo para convenciones de Relay, incluyendo helpers especializados para conexiones e identificación de objetos. La biblioteca cubre una amplia superficie de gestión de API, con control de acceso granular, versionado de esquemas para mantener la compatibilidad hacia atrás y actualizaciones en tiempo real mediante suscripciones. También incluye herramientas de gestión de tráfico para proteger los recursos del servidor, como la limitación de complejidad de consultas y de tasa de peticiones. El desarrollo y la observabilidad están respaldados por herramientas de análisis de AST, trazado de ejecución y utilidades de prueba especializadas para la verificación de carga por lotes.
Provides preprocessing functions to modify or validate argument values before resolver execution.