Adote um pet API
API REST para utilização com app React Native usando PostgreSQL, FastAPI e Peewee ORM
Para a utilização da API, instale as dependências contidas em requirements.txt, entre na pasta que o arquivo main.py se encontra presente, e execute com o uvicorn main:app --reload
Endpoints
-
Home (GET): /
-
Listagem de pets (GET): /pet/read
-
Criação de pets (GET/POST): /pet/create
-
Alteração de pets (GET/PUT): /pet/update?id=
-
Exclusão de pets (GET/DELETE):: /pet/delete/pet?id=
-
Detalhes (GET): /pet/{id}/details
-
Favoritar (GET/POST): /pet/favorite?id=
-
Cadastro de usuários (GET/POST): /user/create
-
Leitura de usuário (GET): /user/{id}
-
Atualização de usuário (GET/UPDATE): /user/update?id=
-
Exclusão de usuário (DELETE): /user/delete?id=
-
Login de usuários (GET/POST): /user/login
Autenticação
O cliclo de autenticação segue:
1 - Usuário cadastra-se no sistema
2 - Usuário faz login com username e password
2.1 - Em caso de erro, é emitido um erro com status 403 do HTTP
3 - Caso os dados estejam corretos, é gerado um JWT access token e um refresh token
4 - Usuário autentica com o authorize na API com as credenciais utilizadas na geração do token. Ou, usuário passa um Authorization header, com o Bearer, seguido pelo token gerado, para as rotas protegidas
O passo 4 pode e deve ser facilitado pelo cliente
5 - Usuário tem garantido o acesso a um recurso antes inacessível