Exemplo de API RESTful em ASP.NET Core para geração e validação de CPF.
- Sobre o Projeto
- Tecnologias
- Pré-requisitos
- Instalação
- Configuração
- Uso / Execução
- Endpoints da API
- Estrutura do Projeto
- Contribuindo
- Licença
Este projeto demonstra como criar uma Web API em ASP.NET Core 6.0 para:
- Gerar CPFs válidos aleatórios.
- Validar CPFs existentes.
- Testar múltiplas gerações para verificar a consistência do algoritmo.
Inclui exemplo de injeção de dependência de um serviço (CpfService) com ciclo de vida Singleton e documentação via Swagger.
| Componente | Tecnologia |
|---|---|
| Framework | ASP.NET Core 6.0 |
| ORM / Data Layer | — (nenhum banco de dados) |
| Documentação API | Swashbuckle.AspNetCore (Swagger) 6.x |
| Linguagem | C# 10 |
- .NET 6.0 SDK
- Windows, Linux ou macOS (Kestrel)
- Editor de código / IDE (Visual Studio 2022, VS Code etc.)
# Clone o repositório
git clone https://github.com/pepes1234/WebAPIExemple.git
cd WebAPIExemple- appsettings.json: configurações gerais (nenhuma configuração especial necessária para este exemplo).
- appsettings.Development.json: configurações de ambiente de desenvolvimento.
Caso queira alterar a porta ou endpoints, edite Properties/launchSettings.json.
# No diretório raiz do projeto
dotnet build
dotnet runA API estará disponível em:
https://localhost:5001http://localhost:5000
A interface interativa do Swagger estará em:
https://localhost:5001/swagger
O projeto inclui um controller CpfController com as rotas abaixo:
| Método | Rota | Descrição |
|---|---|---|
| GET | /cpf/validate/{cpf} |
Valida um CPF informado (formato 000.000.000-00).Retorna true ou false. |
| GET | /cpf/generate |
Gera um CPF válido aleatório (formato 000.000.000-00). |
| GET | /cpf/test/{count} |
Gera e valida count CPFs, retornando resumo no formato:"Testes Corretos: X Testes Incorretos: Y". |
Exemplos:
# Validar CPF existente
curl https://localhost:5001/cpf/validate/123.456.789-09
# Gerar CPF aleatório
curl https://localhost:5001/cpf/generate
# Testar 100 gerações
curl https://localhost:5001/cpf/test/100WebAPIExemple/
├── .vscode/ # Configurações do VS Code
├── Controllers/ # Controllers ASP.NET Core
│ └── CpfController.cs # Endpoints para CPF
├── Properties/
│ └── launchSettings.json # Configurações de execução/debug
├── Services/
│ └── CpfService.cs # Lógica de geração e validação de CPF
├── appsettings.json # Configurações gerais
├── appsettings.Development.json # Configurações de dev
├── Program.cs # Configuração do WebApplication
├── WebAPIExemple.csproj # Projeto .NET 6.0 Web
├── .gitignore
├── LICENSE
└── README.md # Este arquivo