1
resposta

POSTMAN

Olá, minha duvida é a seguinte, No postman, quando eu dou um get sem definir um id, um get geral, ele me mostra todos os filmes que eu postei, porem quando eu especifico um id, (exemplo: https://localhost:7224/Filme/2) ele não me mostra nenhum filme, porem ele me devolve a mensagem 200OK

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeacima é o get geral

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeaqui é o get com id especifico.

Meu código de busca por id é o mesmo passado na aula:

[HttpGet("{id}")]
public IActionResult RecuperaFilmePorId(int id) {
    var filme = _context.Filmes.FirstOrDefault(filme => filme.Id == id);
    if (filme == null) return NotFound();
    return Ok();
}
1 resposta

Olá, Victor! Obrigada por compartilhar sua dúvida.

Pelo que entendi, você está enfrentando um problema ao fazer uma requisição GET com um ID específico no Postman. Você mencionou que recebe a mensagem "200 OK", mas não obtém nenhum filme como resposta.

Pelo código que você compartilhou, parece que você está fazendo a busca corretamente pelo ID no método RecuperaFilmePorId do seu controlador. No entanto, você está retornando apenas o status Ok() e não o filme encontrado. Para resolver esse problema, você precisa retornar o filme encontrado na resposta da requisição GET. Você pode fazer isso utilizando o método Ok() passando o filme como parâmetro, como no exemplo abaixo:

[HttpGet("{id}")]
public IActionResult RecuperaFilmePorId(int id) {
    var filme = _context.Filmes.FirstOrDefault(filme => filme.Id == id);
    if (filme == null) return NotFound();
    return Ok(filme);
}

Dessa forma, quando você fizer uma requisição GET com um ID específico, o Postman irá retornar o filme correspondente, caso exista, ou o status 404 Not Found caso o filme não seja encontrado.

Espero que isso resolva o seu problema. Se tiver mais alguma dúvida, é só me dizer. Espero ter ajudado e bons estudos!