Senhores, boa tarde.
Pesquisei muito antes de abrir esse post, inclusive aqui, neste fórum. Encontrei dúvidas parecidas as quais tentei adaptar ao meu caso porem sem sucesso.
A questão é a seguinte:
Foi desenvolvida uma API em ASP.NET Core 2.0, mas por algumas solicitações do cliente, necessitei migrar para a versão 3.1. Existe uma SPA em Angular 7 que faz a requisição à API através de um método POST passando os parâmetros para a API que retornava um conjunto de dados para aplicação montar a tela. Após a atualização parou de funcionar! Por isso, gostaria de pedir a ajuda de vocês, por que, eu já esgotei as minhas tentativas.
No Controller da API está da seguinte maneira:
[HttpPost]
[Route("api/[controller]")]
public IGResult Post(Filtro filtro)
{
Console.WriteLine("filtro: " + filtro);
var app = new IgApplication();
return app.getInstrucoes(filtro);
}
E no angular se encontra dessa forma:
return this._http.post<IgResult>(environment.url + 'api/IG', this.Filtro, options)
Ao debugar a API, percebo que os dados do parâmetro body chegam nulos. Já tentei das seguintes maneiras abaixo, mudar a implementação do POST na API porém sem sucesso:
//public async Task<IActionResult> Post([FromBody] Filtro pessoa)
//public HttpResponseMessage Post(Filtro pessoa)
//public async Task<ActionResult<IList<Todo>>> Create([FromBody]TodoCreateViewModel model)
//public Task<IActionResult> Post([FromBody] Filtro filtro)
//public ActionResult<Filtro> Post([FromBody] Filtro filtro)
//public HttpResponseMessage Post(Filtro filtro)
//public string Post([FromBody] Filtro filtro)
//public IActionResult Post([FromBody] Filtro filtro)
//{
//var app = new IgApplication();
//return app.getInstrucoes(filtro);
//return null;// Json(filtro);
//}
//public async System.Threading.Tasks.Task<string> Post(HttpRequestMessage request)
//{
// string body = await request.Content.ReadAsStringAsync();
// return body;
//}
Por isso se possível, gostaria muito de contar com a colaboração de vocês.
Desde já muito obrigado!