public async Task <ActionResult <ICollection <Guid> > > PostStatements(PostStatementContent model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } ICollection <Guid> guids = await _mediator.Send(CreateStatementsCommand.Create(model.Statements)); return(Ok(guids)); }
public async Task BindModelAsync(ModelBindingContext bindingContext) { if (bindingContext.ModelType != typeof(PostStatementContent)) { return; } var model = new PostStatementContent(); var request = bindingContext.ActionContext.HttpContext.Request; //string strContentType = request.ContentType ?? MediaTypes.Application.Json; //try //{ // var mediaTypeHeaderValue = MediaTypeHeaderValue.Parse(strContentType); //} //catch (FormatException ex) //{ // throw new BadRequestException(ex.InnerException?.Message ?? ex.Message, ex); //} try { var jsonModelReader = new JsonModelReader(request.Headers, request.Body); model.Statements = await jsonModelReader.ReadAs <StatementCollection>(); } catch (JsonModelReaderException ex) { throw new BadRequestException(ex.InnerException?.Message ?? ex.Message, ex); } if (model.Statements == null) { bindingContext.Result = ModelBindingResult.Failed(); } else { bindingContext.Result = ModelBindingResult.Success(model); } }