Esta é uma API simples de Todo construída com ASP.NET Core 8.0 e Entity Framework Core 9.0, utilizando SQLite como banco de dados.
Esta aplicação fornece uma API RESTful para gerenciar itens de tarefas com operações básicas de CRUD.
- Framework: ASP.NET Core 8.0
- ORM: Entity Framework Core 9.0.3
- Banco de Dados: SQLite
- Linguagem: C# (.NET 8.0)
- TodoModel - Representa um item de tarefa com as seguintes propriedades:
- Id: Identificador único (auto-incrementado)
- Title: Descrição do item de tarefa
- Done: Booleano indicando o status de conclusão
- CreatedAt: Timestamp de criação da tarefa
- AppDbContext - Classe de contexto do Entity Framework que gerencia a conexão com o banco de dados SQLite.
- Configurada para usar um arquivo de banco de dados SQLite local (
app.db) - Define um
DbSet<TodoModel>para os itens de tarefa
- Configurada para usar um arquivo de banco de dados SQLite local (
- HomeController - Controlador de API que manipula requisições HTTP com os seguintes endpoints:
GET /- Retorna todos os itens de tarefasGET /{id}- Retorna um item de tarefa específico pelo IDPOST /- Cria um novo item de tarefaPUT /{id}- Atualiza um item de tarefa existenteDELETE /{id}- Exclui um item de tarefa
- Program.cs - Ponto de entrada da aplicação que configura os serviços e middleware:
- Registra os controladores e serviços do
DbContext - Mapeia as rotas dos controladores
- Registra os controladores e serviços do
| Método | Endpoint | Descrição |
|---|---|---|
| GET | / |
Retorna todos os itens de tarefas |
| GET | /{id} |
Retorna um item de tarefa específico pelo ID |
| POST | / |
Cria um novo item de tarefa |
| PUT | /{id} |
Atualiza um item de tarefa existente |
| DELETE | /{id} |
Exclui um item de tarefa |
- Certifique-se de que o SDK do .NET 8.0 está instalado.
- Clone o repositório.
- Navegue até o diretório do projeto.
- Execute os seguintes comandos:
# Restaurar dependências
dotnet restore
# Aplicar migrações do banco de dados
dotnet ef database update
# Executar a aplicação
dotnet runA aplicação será iniciada em http://localhost:5024 ou https://localhost:7290, dependendo da sua configuração.