API REST desenvolvida em C# e ASP.NET Core para gerenciamento de um catálogo de veículos.
O projeto foi desenvolvido como atividade acadêmica no SENAI, com o objetivo de praticar desenvolvimento de APIs, operações CRUD, banco de dados e Entity Framework Core.
A API permite cadastrar, consultar, atualizar e remover veículos de um catálogo.
Cada carro possui uma marca e pode estar associado a uma ou mais categorias.
O projeto utiliza SQL Server para persistência dos dados e Entity Framework Core para comunicação com o banco.
- C#
- .NET 8
- ASP.NET Core
- Entity Framework Core
- SQL Server
- Swagger / OpenAPI
- Listagem de carros
- Consulta de carro por ID
- Cadastro de carros
- Atualização de carros
- Exclusão de carros
- Filtro de carros por modelo
- Cadastro associado a marcas e categorias
- Validação dos dados recebidos
- Documentação e testes da API através do Swagger
O projeto possui as seguintes entidades:
Marca
Carro
Categoria
CarroCategoria
Marca 1 ───────── N Carro
Carro 1 ───── N CarroCategoria N ───── 1 Categoria
Uma marca pode possuir vários carros.
Um carro pode pertencer a várias categorias e uma categoria pode estar associada a vários carros.
| Método | Endpoint | Descrição |
|---|---|---|
GET |
/api/carros |
Lista os carros |
GET |
/api/carros/{id} |
Busca um carro por ID |
POST |
/api/carros |
Cadastra um carro |
PUT |
/api/carros/{id} |
Atualiza um carro |
DELETE |
/api/carros/{id} |
Remove um carro |
Também é possível filtrar pelo modelo:
GET /api/carros?modelo=corolla{
"modelo": "Yaris",
"ano": 2025,
"cor": "Branco",
"preco": 112990.00,
"marcaId": 1,
"categoriaIds": [3]
}Catalogo-Carros-API/
│
├── Controllers/
├── Data/
├── DTOs/
├── Entities/
├── Migrations/
├── Properties/
│
├── Program.cs
├── appsettings.json
└── CatalogoCarros.Api.csproj
- Controllers: recebem e processam as requisições HTTP.
- DTOs: controlam os dados recebidos e retornados pela API.
- Entities: representam as entidades do banco de dados.
- Data: contém o
AppDbContext. - Migrations: controla a criação e alterações da estrutura do banco.
- .NET 8 SDK
- SQL Server
- Entity Framework CLI
Clone o repositório:
git clone https://github.com/eduardogil-byte/Catalogo-Carros-API.gitEntre na pasta:
cd Catalogo-Carros-APIRestaure as dependências:
dotnet restoreAtualize o banco de dados:
dotnet ef database updateExecute a aplicação:
dotnet runDepois, acesse o endereço do Swagger exibido no terminal para visualizar e testar os endpoints.
Durante o desenvolvimento foram praticados conceitos como:
- APIs REST
- CRUD
- Programação assíncrona com
asynceawait - Entity Framework Core
- Migrations
- DTOs
- Injeção de dependência
- Relacionamentos 1:N e N:N
- Validação de dados
- Códigos de status HTTP
- Integração com SQL Server
Projeto acadêmico desenvolvido durante os estudos no SENAI, com foco no aprendizado dos fundamentos de desenvolvimento backend utilizando C# e ASP.NET Core.
Eduardo Machado Gil
GitHub: @eduardogil-byte