API REST desenvolvida com ASP.NET Core Web API para gerenciamento de produtos, implementando operações completas de CRUD (Create, Read, Update e Delete).
Este projeto foi desenvolvido com o objetivo de praticar os principais conceitos de construção de APIs REST utilizando ASP.NET Core, incluindo:
- Criação de endpoints RESTful
- Manipulação de dados via HTTP
- Boas práticas de organização de código
- Tratamento de respostas HTTP
- Documentação automática com Swagger
- Validação de regras de negócio
- C#
- ASP.NET Core Web API
- Swagger / OpenAPI
- JSON
ApiProdutos
│
├── Controllers
│ └── ProdutosController.cs
│
├── Models
│ └── Produto.cs
│
├── Program.cs
└── appsettings.json
public class Produto
{
public int Id { get; set; }
public string Nome { get; set; }
public decimal Preco { get; set; }
}GET /api/produtosRetorna todos os produtos cadastrados.
GET /api/produtos/{id}Exemplo:
GET /api/produtos/1Retorna o produto correspondente ao ID informado.
POST /api/produtosExemplo de requisição:
{
"id": 2,
"nome": "Mouse",
"preco": 80.00
}PUT /api/produtos/{id}Exemplo de requisição:
{
"id": 2,
"nome": "Mouse Gamer",
"preco": 150.00
}Atualiza as informações do produto informado.
DELETE /api/produtos/{id}Remove o produto da coleção.
- Não é permitido cadastrar produtos com IDs duplicados.
- Produtos inexistentes retornam 404 Not Found.
- Os dados são armazenados em memória utilizando uma lista.
- Os registros são perdidos ao reiniciar a aplicação.
git clone https://github.com/seu-usuario/ApiProdutos.gitcd ApiProdutosdotnet runApós iniciar a aplicação, acesse:
https://localhost:xxxx/swagger
A interface Swagger permite visualizar e testar todos os endpoints da API diretamente pelo navegador.
Cliente
│
▼
ProdutosController
│
▼
Lista em Memória
│
▼
Resposta JSON
- CRUD completo
- Cadastro de produtos
- Consulta de produtos
- Busca por ID
- Atualização de dados
- Exclusão de registros
- Validação de ID duplicado
- Retornos HTTP apropriados
- Integração com Swagger
- Integração com SQL Server
- Entity Framework Core
- DTOs
- AutoMapper
- Autenticação JWT
- Paginação de resultados
- Versionamento da API
- Testes unitários
- Persistência em banco de dados
Desenvolvido para fins de estudo e aprimoramento em desenvolvimento de APIs REST com ASP.NET Core.
Este projeto está disponível para fins educacionais e aprendizado.