public async Task <IActionResult> GetListTopHeadlines() { try { IQueryCollection queryParams = Request.Query; if (!AppUtils.IsValidParameters(queryParams, topHeadlinesValidParams)) { return(BadRequest(new Error() { Message = $"A consulta contém parâmetros inválidos. Parâmetros válidos: {string.Join(", ", topHeadlinesValidParams)}", Status = "error" })); } List <KeyValuePair <string, object> > parameters = AppUtils.GetParameters(queryParams, topHeadlinesValidParams); if (parameters.Exists(c => c.Key == "sources")) { if (parameters.Exists(c => c.Key == "country" || c.Key == "category")) { return(BadRequest(new Error() { Message = $"Não é permitido utilizar os parâmetros 'country' ou 'category' junto com o parâmetro 'sources'.", Status = "error" })); } } var result = await _services.GetListTopHeadlines(parameters); return(Ok(result)); } catch (Exception ex) { return(BadRequest(new Error() { Message = $"Erro ao retornar os dados. {ex.Message}", Status = "error" })); } }