Atualização ASP.NET Core 2.0 para 3.1 - API não recebe mais os parâmetros do método POST

18/05/2020

4

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!
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar