Parece que você está usando um bloqueador de anúncios. Fazemos um conteúdo de qualidade e de graça e contamos com a publicidade para ajudar a manter nosso site. Por favor nos ajude 😢

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.

Anúncio

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.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Rolar para cima