Skip to content

Neste repositório vou mostrar como podemos implementar o padrão Mediator usando o MediatR em uma aplicação ASP .NET Core API.

License

Notifications You must be signed in to change notification settings

anajulialeite/ASP.NET_CORE_MediatR_CQRS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ASP.NET_CORE_MediatR_CQRS

Projeto criado como apoio para meu estágio, com foco em boas práticas de separação de responsabilidades e arquitetura limpa.

Funcionalidades Implementadas

  • ✅ Cadastro de produtos (CreateProductCommand)
  • ✅ Consulta de produtos por ID (GetProductByIdQuery)
  • ✅ Listagem de todos os produtos (GetAllProductsQuery)
  • ✅ Atualização de produto (UpdateProductCommand)
  • ✅ Remoção de produto (DeleteProductCommand)

Tecnologias e Conceitos utilizado

  • .NET 9
  • ASP.NET Core Web API
  • MediatR
  • Entity Framework Core (com banco em memória)
  • Padrão CQRS (Commands e Queries separados)
  • Swagger (para testes dos endpoints)

📁 Estrutura do Projeto

📂Controllers
   └── ProdutosController.cs
📂Domain
   └── Command.cs
      └── ProdutoCreateCommand.cs
      └── ProdutoDeleteCommand.cs
      └── ProdutoUpdateCommand.cs
   ├── Entity.cs
      └── Produto.cs
   └── Handler.cs
      └── ProdutoCreateCommandHandler.cs
      └── ProdutoDeleteCommandHandler.cs
      └── ProdutoUpdateCommandHandler.cs
📂EventsHandlers
   └── LogEventsHandler.cs
📂Notifications
   ├── ErroNotification.cs
   ├── ProdutoCreateNotification.cs
   ├── ProdutoDeleteNotification.cs
   └── ProdutoUpdateNotification.cs.cs
📂Repository
   ├── IRepository.cs
   └── ProdutoRepository.cs
Program.cs
Startup.cs

Como Executar

Clone o repositório:

git clone https://github.com/seu-usuario/seu-repositorio.git

Abra o projeto no Visual Studio 2022 ou superior.

Execute com F5 ou usando o terminal:

dotnet run

Acesse o Swagger:

https://localhost:5001/swagger

Testes via Swagger

  • Criar um produto

    POST /api/products
    
    {
    "name": "Notebook",
    "price": 4200
    }
    
  • Listar todos os produtos

  GET /api/products
  • Buscar por ID
  GET /api/products/{id}
  • Atualizar produto
  PUT /api/products/{id}
  • Deletar produto
  DELETE /api/products/{id}

Autora

Ana Júlia de Lima Aguiar Leite

LinkedIn

Links Úteis

License

MIT License

About

Neste repositório vou mostrar como podemos implementar o padrão Mediator usando o MediatR em uma aplicação ASP .NET Core API.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published