Exemple #1
0
        public async Task <IActionResult> Post([FromBody] GraphqlQueryParameter query)
        {
            if (query == null)
            {
                throw new ArgumentNullException(nameof(query));
            }

            var executionOptions = new ExecutionOptions
            {
                Schema = SchemaManager.GetBrandSchema(_schema), // We choose the Schema we will use. Queries can only access Fields in the selected schema.
                Query  = query.Query,                           // Select Query
                Inputs = query.Variables?.ToInputs(),           // Query Paramaters
            };

            try
            {
                var result = await _documentExecuter.ExecuteAsync(executionOptions).ConfigureAwait(false);

                if (result.Errors?.Count > 0)
                {
                    return(BadRequest(result));
                }

                return(Ok(result.Data));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex));
            }
        }