O objetivo principal do projeto é criar e disponibilizar uma API Rest
Consumir os endpoints e realizar operações de CRUD.
#Requisitos
Criar uma API que seja capaz de armazenar dados e realizar operações CRUD
#Este projeto foi feito com:
Como rodar o projeto ?
- Clone esse reposiório.
- Crie um virualenv com Python
- Ative o virtualenv.
- Instale as depêndencias.
- Rode as Migrações
Comandos:
git clone
cd api
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python manage.py makemigrations
python manage.py migrate
Criando SuperUser
python manage.py createsuperuser
username : admin
email : admin@api.com
senha : admin
confirmar senha: admin
python manage.py drf_create_token admin
Notas sobre a API
A autenticação desse projeto foi baseada em TokenAuthentication usando um formato de client-server ou seja requisições autenticadas nos endpoints.
Testes Unitários
Para realizar os testes realizados com TestCase
python manage.py test main.tests.UserTest
Endpoints do projeto
http://127.0.0.1:8000/api/alunos/api/alunos - Lista todos os alunos
http://127.0.0.1:8000/api/alunos/create - Cria um aluno
http://127.0.0.1:8000/api/alunos/api/alunos/{ID} - Filtra aluno por ID
http://127.0.0.1:8000/api/alunos/api/alunos/{ID}/update - Atualiza dados do aluno
http://127.0.0.1:8000/api/alunos/api/alunos/{ID}/delete - Deleta aluno(ID)
Limite de Requisições
- Usuario não autenticado : 5 Rrequisições por minuto
- Usuario autenticado : 10 Requisições por minuto
Paginação
- 3 objetos por página
Criando usuario/Consumindo Endpoints
Para gerar um token entre na url http://127.0.0.1:8000/admin
com um usuario do tipo superuser, acesse o APP - Token de Autorização
adicione uma chave Token ao seu usuario.
Criando um aluno#
Requisição POST Endpoint: http://127.0.0.1:8000/api/alunos/create
Header: 'Content-Type' : 'application/json'
Authorization: 'Token 67f885ffce9364fc3b6d770c95acfcbabc661db0'
{
"nome":"aluno 111",
"is_student": true,
"turma": "Fundamental"
}