Quando tento usar o método post "AdicionarFilme", recebo o erro 500.
Notei que esse erro só ocorre quando incluo a linha _context.SaveChanges(); , conforme explicado na aula . Teria alguma alternativa para o _context.SaveChanges() ?
Abaixo, segue o meu código para ficar mais claro:
using FilmesAPI.Data;
using FilmesAPI.Models;
using Microsoft.AspNetCore.Mvc;
namespace FilmesAPI.Controllers
{
[ApiController]
[Route("[controller]")]
public class FilmeController : ControllerBase
{
private FilmeContext _context;
public FilmeController(FilmeContext context)
{
_context = context;
}
[HttpPost]
public IActionResult AdicionarFilme([FromBody] Filme filme)
{
_context.Filmes.Add(filme);
_context.SaveChanges();
return CreatedAtAction(nameof(RecuperarFilmesPorId), new { id = filme.id }, filme);
}
[HttpGet]
public IEnumerable<Filme> RecuperarFilmes()
{
return _context.Filmes;
}
[HttpGet("{id}")]
public IActionResult RecuperarFilmesPorId(int id)
{
//Filme filme = filmes.FirstOrDefault(filme => filme.id == id);
Filme filme = _context.Filmes.FirstOrDefault(filme => filme.id == id);
if (filme != null)
{
return Ok(filme);
}
return NotFound();
}
}
}