Пример #1
0
        public async Task <IActionResult> Post(
            [FromBody] GraphQLRequest request,
            [FromServices] ISchema schema,
            [FromServices] IBuildUserContext buildUserContext,
            [FromServices] IEnumerable <IValidationRule> validationRules,
            [FromServices] ISchemaFilter schemaFilter)
        {
            var result = await _executer.ExecuteAsync(_ =>
            {
                _.Schema           = schema;
                _.OperationName    = request.OperationName;
                _.Query            = request.Query;
                _.Inputs           = request.Variables.ToInputs();
                _.ExposeExceptions = true;
                _.UserContext      = buildUserContext.Build(HttpContext);
                _.ValidationRules  = validationRules.Concat(DocumentValidator.CoreRules).ToList();
                _.SchemaFilter     = schemaFilter;
            });

            var json = await _writer.WriteToStringAsync(result);

            var httpResult = result.Errors?.Count > 0
                ? HttpStatusCode.BadRequest
                : HttpStatusCode.OK;

            return(Content(json, "application/json"));
        }
 public void TestInit()
 {
     _schema = new Schema();
     _filter = new NullableTypeSchemaFilter();
 }