Deixar a API assíncrona poderia ser bom para que o código não ficasse para numa tarefa enquanto pudesse executar outras, e isso nem foi mencionado no curso.
Deixar a API assíncrona poderia ser bom para que o código não ficasse para numa tarefa enquanto pudesse executar outras, e isso nem foi mencionado no curso.
Olá, Marcella. Tudo bem?
Você levantou um ponto muito interessante sobre a utilização de métodos assíncronos em APIs. Em muitos casos, tornar as operações assíncronas pode melhorar a eficiência e a capacidade de resposta de uma aplicação, especialmente quando ela precisa lidar com operações de I/O, como chamadas a banco de dados ou serviços externos.
Para adaptar para usar async/await. Aqui está como você poderia modificar o método DeletaFilme
para ser assíncrono:
[HttpDelete("{id}")]
public async Task<IActionResult> DeletaFilme(int id)
{
var filme = await _context.Filmes.FirstOrDefaultAsync(filme => filme.Id == id);
if (filme == null) return NotFound();
_context.Remove(filme);
await _context.SaveChangesAsync();
return NoContent();
}
Para isso, você precisaria:
Microsoft.EntityFrameworkCore
para acessar os métodos assíncronos do Entity Framework, como FirstOrDefaultAsync
e SaveChangesAsync
.Task<IActionResult>
.await
nas chamadas assíncronas.Fazer essas alterações pode ajudar a melhorar a escalabilidade da sua API, permitindo que o servidor lide com mais requisições simultaneamente, já que ele não ficará bloqueado enquanto espera por operações I/O.
Espero ter ajudado e bons estudos.
Obrigado pela sugestão. O seu feedback é muito importante para a Alura.