public async Task <IActionResult> Post([FromBody] GraphqlQueryParameter query) { if (query == null) { throw new ArgumentNullException(nameof(query)); } var executionOptions = new ExecutionOptions { Schema = _schema, Query = query.Query, Inputs = query.Variables?.ToInputs(), //TODO: Jsondaki variable kısmının tanımlanması için FieldNameConverter = new PascalCaseFieldNameConverter() //TODO: Graphql sorgularının pascal case olarak yazılması için gerekli. }; 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)); } }
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)); } }
public async Task <IActionResult> Post([FromBody] GraphqlQueryParameter query) { if (query == null) { throw new ArgumentNullException(nameof(query)); } var executionOptions = new ExecutionOptions { Schema = _schema, Query = query.Query, Inputs = query.Variables?.ToInputs(), FieldNameConverter = new PascalCaseFieldNameConverter() }; try { var result = await _documentExecuter.ExecuteAsync(executionOptions).ConfigureAwait(false); if (result.Errors?.Count > 0) { return(BadRequest(result)); } return(Ok(result)); } catch (Exception ex) { return(BadRequest(ex)); } }
public async Task <IActionResult> Post([FromBody] GraphqlQueryParameter query) { if (query == null) { throw new ArgumentNullException(nameof(query)); } var executionOptions = new ExecutionOptions() { Schema = _schema, Query = query.Query, Inputs = query.Variables?.ToInputs(), //Jsondaki variable kısmının tanımlanması için FieldNameConverter = new PascalCaseFieldNameConverter(), //Graphql sorgularının pascal case olarak yazılması için ValidationRules = new List <IValidationRule> { _validationRule }, UserContext = _httpContextAccessor.HttpContext.User }; try { var result = await _documentExecuter.ExecuteAsync(executionOptions).ConfigureAwait(false); if (result.Errors?.Count > 0) { return(BadRequest(result)); } return(Ok(result.Data)); } catch (Exception e) { return(BadRequest(e)); } }