Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] métodos GET estão retornando vazio

Fiz o mesmo código da aula, o método POST está inserindo os filmes que coloco, mas os métodos de GET e GET por Id não retornam os filmes que acabei de adicionar, retorna apenas uma lista vazia com colchetes ( [] ) no Postman.

   [ApiController]
    [Route("[controller]")]
    public class FilmeController : ControllerBase
    {
        private List<Filme> filmes = new List<Filme>();
        private static int id;

        [HttpPost] 
         public void AdicionarFilme([FromBody]Filme filme)
        {
            filme.Id = id++;
            filmes.Add(filme);
            Console.WriteLine(filme.Titulo);
            Console.WriteLine(filme.Genero);
            Console.WriteLine(filme.Duracao);
        }

        [HttpGet]
        public IEnumerable<Filme> RecuperarFilmes()
        {
            return filmes;
        }

        [HttpGet("{id}")]
        public Filme? RecuperarFilmePorId(int id)
        {
             return filmes.FirstOrDefault(filme => filme.Id == id);
        }
    }

![](Insira aqui a descrição dessa imagem para ajudar na acessibilidade )

1 resposta
solução!

O problema é que pra cada nova chamada do controller, está sendo criado uma nova instância dele. Portanto, cada nova chamada a lista estará vazia. O ideal seria vc tornar essa lista estática para que o ciclo de vida dela seja independente da instância do controlador.