Curso Completo: Como Criar uma WEB API com .NET 8 e SQL Server | CRUD + Repository Pattern
Aprenda a criar uma WEB API completa com .NET 8 e SQL Server, utilizando o padrão Repository Pattern. Este guia passo a passo cobre desde a configuração do projeto até a implementação de CRUD com relacionamentos entre entidades.
Introdução
No mundo do desenvolvimento de software, as APIs são fundamentais para conectar sistemas e permitir a troca de dados de forma eficiente. Neste post, vamos explorar como criar uma WEB API utilizando .NET 8 e SQL Server, implementando operações CRUD (Create, Read, Update, Delete) e aplicando o Repository Pattern para manter o código organizado e escalável.
Introdução
Desenvolver uma API .NET 8 com SQL Server é uma das habilidades mais procuradas no mercado de desenvolvimento de software. Seja para integrar sistemas, criar microsserviços ou construir aplicações modernas, dominar essa stack é essencial. Neste guia, você vai aprender a criar uma API completa, desde a configuração do projeto até a implementação de operações CRUD (Create, Read, Update, Delete) com o padrão Repository Pattern.
Este tutorial é baseado no vídeo “Curso Completo | WEB API com .NET 8 e SQL Server | CRUD + Repository Pattern”, que oferece uma abordagem prática e detalhada para quem deseja se aprofundar no desenvolvimento de APIs com .NET.
Por Que Usar .NET 8 e SQL Server?
O .NET 8 é uma das plataformas mais robustas e modernas para desenvolvimento de APIs, oferecendo alta performance, segurança e suporte a microsserviços. Já o SQL Server é um dos bancos de dados relacionais mais confiáveis e amplamente utilizados no mercado. A combinação dessas tecnologias permite criar APIs escaláveis, seguras e fáceis de manter.
O Que Você Vai Aprender
- Configurar um projeto API .NET 8 no Visual Studio.
- Criar e configurar o banco de dados usando SQL Server.
- Implementar o padrão Repository Pattern para separar as responsabilidades do código.
- Desenvolver operações CRUD para duas entidades: Autor e Livro.
- Estabelecer relacionamentos entre entidades (um-para-muitos).
- Utilizar o Entity Framework Core para mapear e persistir dados.
- Testar a API usando o Swagger.
Passo a Passo para Criar a API .NET 8 com SQL Server
1. Configuração do Projeto
- Abra o Visual Studio e crie um novo projeto do tipo ASP.NET Core Web API.
- Escolha a versão .NET 8 como framework de destino.
- Instale os pacotes necessários do Entity Framework Core via NuGet:
Microsoft.EntityFrameworkCore
Microsoft.EntityFrameworkCore.SqlServer
Microsoft.EntityFrameworkCore.Design
Microsoft.EntityFrameworkCore.Tools
2. Definição das Entidades
- Crie as classes Autor e Livro para representar as entidades do banco de dados.
- Estabeleça o relacionamento um-para-muitos entre Autor e Livro (um autor pode ter vários livros, mas um livro pertence a apenas um autor).
public class Autor
{
public int Id { get; set; }
public string Nome { get; set; }
public string Sobrenome { get; set; }
public ICollection<Livro> Livros { get; set; }
}
public class Livro
{
public int Id { get; set; }
public string Titulo { get; set; }
public int AutorId { get; set; }
public Autor Autor { get; set; }
}
3. Configuração do Banco de Dados
- Defina a string de conexão no arquivo
appsettings.json
. - Configure o DbContext para mapear as entidades e gerenciar a conexão com o banco de dados.
public class AppDbContext : DbContext
{
public AppDbContext(DbContextOptions<AppDbContext> options) : base(options) { }
public DbSet<Autor> Autores { get; set; }
public DbSet<Livro> Livros { get; set; }
}
4. Implementação do Repository Pattern
- Crie interfaces e serviços para separar a lógica de negócios da camada de acesso a dados.
- Utilize injeção de dependência para conectar os serviços aos controllers.
public interface IAutorService
{
Task<ResponseModel<List<Autor>>> ListarAutores();
Task<ResponseModel<Autor>> BuscarAutorPorId(int id);
Task<ResponseModel<Autor>> BuscarAutorPorIdLivro(int idLivro);
Task<ResponseModel<List<Autor>>> CriarAutor(AutorCriacaoDto autorDto);
Task<ResponseModel<List<Autor>>> EditarAutor(AutorEdicaoDto autorDto);
Task<ResponseModel<List<Autor>>> ExcluirAutor(int id);
}
5. Desenvolvimento dos Endpoints
- Crie controllers para expor os endpoints da API.
- Implemente métodos para listar, buscar, criar, editar e excluir autores e livros.
[ApiController]
[Route("api/[controller]")]
public class AutorController : ControllerBase
{
private readonly IAutorService _autorService;
public AutorController(IAutorService autorService)
{
_autorService = autorService;
}
[HttpGet]
public async Task<ActionResult<ResponseModel<List<Autor>>>> ListarAutores()
{
var autores = await _autorService.ListarAutores();
return Ok(autores);
}
}
6. Testes com Swagger
- Utilize o Swagger para testar os endpoints e garantir que a API está funcionando corretamente.
- Verifique os relacionamentos entre as entidades e a persistência dos dados no banco.
Benefícios do Repository Pattern
- Separação de responsabilidades: O código fica mais organizado e fácil de manter.
- Facilidade de testes: A lógica de negócios pode ser testada independentemente do acesso a dados.
- Reutilização de código: Os repositórios podem ser reutilizados em diferentes partes do projeto.
Conclusão
Criar uma API .NET 8 com SQL Server é uma habilidade valiosa para qualquer desenvolvedor. Ao seguir este tutorial, você aprendeu a configurar o projeto, implementar operações CRUD, estabelecer relacionamentos entre entidades e aplicar o padrão Repository Pattern para manter o código limpo e escalável.
Se você deseja se aprofundar ainda mais, confira o curso completo na descrição do vídeo ou entre em contato para aulas particulares.