Cities Manager é uma API desenvolvida com ASP.NET Core Web API para gerenciar informações de cidades. Este projeto foi criado para aplicar os conceitos aprendidos em ASP.NET Core Web API.
- Cadastro de Cidades: Crie novos registros de cidades com informações como nome, estado e população.
- Listagem de Cidades: Consulte todas as cidades cadastradas ou filtre por critérios específicos.
- Atualização de Cidades: Altere informações de uma cidade já cadastrada.
- Remoção de Cidades: Exclua cidades do sistema.
- Paginação e Ordenação: Suporte a paginação e ordenação nos endpoints de listagem.
- Validação de Dados: Garantia de consistência nos dados enviados para a API.
- ASP.NET Core Web API: Framework principal para desenvolvimento da API.
- Entity Framework Core: Para gerenciamento de banco de dados e ORM.
- SQL Server: Banco de dados leve para armazenamento local.
- Swagger/OpenAPI: Documentação interativa da API.
Siga os passos abaixo para executar a API localmente:
- .NET 8 SDK
- Banco de dados SQL Server
- IDE: Rider ou Visual Studio Code.
-
Clone este repositório:
git clone https://github.com/murilonicemento/cities-manager
-
Configure a string de conexão no arquivo
appsettings.json
:{ "ConnectionStrings": { "DefaultConnection": "Data Source=citiesmanager.db" } }
-
Aplique as migrações para configurar o banco de dados:
dotnet ef database update
-
Execute o projeto:
dotnet run
-
Acesse a documentação Swagger da API:
http://localhost:5265/swagger
Acesse a documentação interativa em /swagger
para detalhes completos sobre os endpoints. Exemplos de alguns disponíveis:
GET /api/cities
- Lista todas as cidades.GET /api/cities/{id}
- Obtém detalhes de uma cidade específica.POST /api/cities
- Cria uma nova cidade.PUT /api/cities/{id}
- Atualiza uma cidade existente.DELETE /api/cities/{id}
- Remove uma cidade do banco de dados.
Contribuições são bem-vindas! Siga os passos abaixo para colaborar:
- Fork o repositório
- Crie uma branch com sua feature:
git checkout -b minha-feature
- Faça commit das alterações:
git commit -m 'Adicionei uma nova feature'
- Envie a branch:
git push origin minha-feature
- Abra um Pull Request
Este projeto está licenciado sob a MIT License.