Essa documentação tem como objetivo orientar e demonstrar como a API funciona
Partindo do pressuposto de que você ja tem o Python3.7+ instalado na sua maquina (caso não tenha click no link: https://www.python.org/downloads/) e o repositorio clonado, selecione a pasta clonada e pelo seu editor de texto ou IDE inicie o ambiente virtual que ja vem inatalado com o Python:
$ python -m venv ambvir
Em seguida ative o seu ambinete virtual:
$ ./bin/Scripts/Activate.bat
Caso esteja usando p PowerShell use:
$ ./bin/Scripts/Activate.ps1
Se o terminal devolver um erro:
O termo './bin/Scripts/Activate.bat' não é reconhecido como nome de cmdlet, função, arquivo de script ou programa operável.
Continue sem executar o comando, este erro é aplicado quando o ambiente já esta ativo.
Caso seu PowerShell esteja com os scripts desabilitados, consulte a documentação para saber como proceder
Na raiz do projeto (com o ambiente virtual ativo) abra o terminal e digite o comando para atualizar o "pip":
$ python -m pip install --upgrade pip
Em seguida instale todas as dependências do projeto que se encontram na pasta requirements.txt:
$ pip install -r requirements.txt
Logo após o download das dependências use o comando:
$ python app.py
Se tudo correu de forma correta a aplicação estará rodando:
Para testar os métodos POST e PUT, use o POSTMAN (link para download: https://www.postman.com/downloads/).Running on http://127.0.0.1:5000/
A API aceita e retorna apenas o formato JSON
Enviar JSON:
{
"login": "[email protected]",
"password": "eletromagnetismo",
"city": "São paulo"
}
Sucesso:
{
"message": "User cread successfully"
}
Usuario já existe:
{
"massage": "The login [email protected] alredy exists."
}
Enviar JSON
{
"login": "[email protected]",
"password": "eletromagnetismo"
}
Sucesso:
{
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE2MDA1NDE2MDEsIm5iZiI6MTYwMDU0MTYwMSwianRpIjoiY2IzNGJmNjQtNmM5ZS00MTg4LWJlMjUtYzgwNjhjNmI5NTlmIiwiZXhwIjoxNjAwNTQyNTAxLCJpZGVudGl0eSI6MSwiZnJlc2giOmZhbHNlLCJ0eXBlIjoiYWNjZXNzIn0.g5lNkaKN5KQ_4-hPZRb9peWlENUygZt3Z-rKLyWF94g"
}
Erro:
{
"message": "The user name or password is incorrect"
}
Retorna um JSON com todos os registros de usuarios
{
"users": [
{
"id": 1,
"login": "[email protected]",
"city": "Curitiba"
},
{
"id": 2,
"login": "[email protected]",
"city": "Curitiba"
},
{
"id": 3
"login": "[email protected]",
"city": "São paulo"
}
]
}
Filtragem por cidade:
Filtragem por Quantidade:
Filtragem por cidade e quantidade:
GET http://127.0.0.1:5000/users?city=curitiba&limit=100&offset=0
Retorna um JSON com todos os usuários filtrados pelos parâmetros
Para executar esse método precisaremos da token que foi gerada, após copiar a token entre na aba do POSTMAN "Headers" na coluna de "KEY" adicione a palavra "Authorization" e na coluna "VALUE" adicione "Bearer" seguido pela token
Exemplo:
KEY | VALUE |
---|---|
Authorization | Bearer eyJ0eXAiOiJKV1Qi... |
Retorna um JSON com "id", "login" e "city":
{
"id": 3,
"login": "[email protected]",
"city": "São paulo"
}
Para executar esse método precisaremos da token que foi gerada, após copiar a token entre na aba do POSTMAN "Headers" na coluna de "KEY" adicione a palavra "Authorization" e na coluna "VALUE" adicione "Bearer" seguido pela token
Exemplo:
KEY | VALUE |
---|---|
Authorization | Bearer eyJ0eXAiOiJKV1Qi... |
Os dados que podem ser alterados são: "login", "password", "city"
Enviar JSON (Todos os index são opcionais):
{
"login": "[email protected]",
"password": "correntealternada"
}
Retorna um JSON com as novas informações:
Sucesso:
{
"id": 3
"login": "[email protected]",
"city": "São paulo"
}
Erro:
{
"message": "this user id :id dont have a register"
}
Para executar esse método precisaremos da token que foi gerada, após copiar a token entre na aba do POSTMAN "Headers" na coluna de "KEY" adicione a palavra "Authorization" e na coluna "VALUE" adicione "Bearer" seguido pela token
Exemplo:
KEY | VALUE |
---|---|
Authorization | Bearer eyJ0eXAiOiJKV1Qi... |
Retorna um JSON com uma menssagem:
Sucesso:
{
"message": "user deleted"
}
Erro id não existe:
{
"message": "The user :id does not exist"
}
Erro desconhecido:
{
"message": "An internal error ocurred trying to delete user"
}
- Usuários registrados tem obrigatoriamente que gerar token para executar ação de POST, PUT, DELETE.
- As senhas são salvas criptografadas no bancos, ou seja, apenas o usuário tem acesso a sua versão original.