API REST com .NET
-
Pré-requisitos:
- .NET SDK 8.0
- Docker Desktop
- Acesso ao seu cluster MongoDB (a Connection String está em
api/appsettings.json)
-
Via Docker:
- Navegue até a pasta
TodoAppno terminal. - Construa a imagem Docker:
docker build -t todoapp-api -f Dockerfile . - Execute o contêiner:
docker run -p 8080:80 todoapp-api
- A API estará disponível em
http://localhost:8080.
- Navegue até a pasta
-
Via .NET CLI (sem Docker):
- Navegue até a pasta
TodoApp/apino terminal. - Restaure as dependências:
dotnet restore
- Execute a aplicação:
dotnet run
- A API estará disponível em
http://localhost:5000(ou outra porta indicada pelo .NET CLI).
- Navegue até a pasta
A API expõe os seguintes endpoints via /api/Tasks:
- GET /api/Tasks: Retorna todas as tarefas.
- GET /api/Tasks/{id}: Retorna uma tarefa por ID.
- POST /api/Tasks: Cria uma nova tarefa.
- PUT /api/Tasks/{id}: Atualiza uma tarefa existente.
- DELETE /api/Tasks/{id}: Exclui uma tarefa.
Você pode testar a API usando:
- Swagger UI: Acesse
http://localhost:8080/swagger(ou a porta correspondente) no navegador. - Postman/Insomnia: Importe os endpoints para sua ferramenta favorita.
curl: Exemplos de comandoscurlpodem ser encontrados na documentação do projeto.
Para fazer o deploy no Render:
- Envie todo este projeto (a pasta
TodoAppcompleta) para um repositório Git (GitHub, GitLab, Bitbucket). - No Render, crie um novo "Web Service".
- Conecte seu repositório Git.
- Configure as seguintes opções:
- Root Directory:
api(esta é a pasta onde oapi.csproje oDockerfileinterno ao contexto do projeto estão) - Runtime:
Docker(O Render detectará seuDockerfile) - Port:
80(A porta que a aplicação expõe dentro do contêiner) - (Opcional) Adicione variáveis de ambiente para a Connection String se preferir não mantê-la no
appsettings.jsondo repositório público.
- Root Directory:
- Implante o serviço.
Com todos esses arquivos, você terá um projeto .NET completo e pronto para ser desenvolvido, testado e implantado!
Se precisar de ajuda para criar as pastas ou tiver qualquer outra dúvida, é só perguntar!