public ActionResult <ValidarGetResponseModel> Validate([FromBody] ValidarGetRequestModel request) { if (request == null || request.Content == null) { //TODO Criar um lançamento de exception 400 como o de baixo } Result result; try { result = new Processor(ruleSettings).Validate(request.Content, request.Supressions.ToSupressions()); } catch (InvalidOpenApiDocumentException e) { //TODO Criar este lançamento de exception //ValidationException.Throw("rest-400"); //TODO precisa evoluir o "error-code" para poder passar parâmetros {0} //Isto é tático Response.StatusCode = StatusCodes.Status400BadRequest; result = new Result { ResultItens = new List <ResultItem> { new ResultItem { Description = "O contrato não é um Open API Specification válido.", Details = e.Message, Rule = "GenericError", Severity = Severity.Error } } }; } if (HttpContext.Request.Headers.ContainsKey("Accept") && HttpContext.Request.Headers["Accept"] == "text/plain") { return(Content(result.ToText())); } else { return(result.ToValidarResponseGetModel()); } }
public ActionResult <ValidarGetResponseModel> Validate([FromBody] ValidarGetRequestModel request) { if (request == null || request.Content == null) { //TODO Criar um lançamento de result com erro } Result result = new Processor(ruleSettings).Validate(request.Content, request.Supressions.ToSupressions()); if (HttpContext.Request.Headers.ContainsKey("Accept") && HttpContext.Request.Headers["Accept"] == "text/plain") { return(Content(result.ToText())); } else { return(result.ToValidarResponseGetModel()); } }