https://github.com/samuelcandido/restapi-python
Validacao de WEB II
https://github.com/samuelcandido/restapi-python
jwt python rest-api swagger yaml
Last synced: 10 months ago
JSON representation
Validacao de WEB II
- Host: GitHub
- URL: https://github.com/samuelcandido/restapi-python
- Owner: SamuelCandido
- Created: 2025-08-06T04:50:15.000Z (11 months ago)
- Default Branch: Master
- Last Pushed: 2025-08-07T05:00:12.000Z (11 months ago)
- Last Synced: 2025-08-07T06:17:32.696Z (11 months ago)
- Topics: jwt, python, rest-api, swagger, yaml
- Language: Python
- Homepage:
- Size: 46.9 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Rest API - Comandas e Usuários
API RESTful desenvolvida em Flask para gerenciamento de usuários, comandas e autenticação JWT.
Inclui documentação interativa via Swagger UI.
## Funcionalidades
- Cadastro, consulta e remoção de usuários (Controller → Service → DAO)
- Autenticação via JWT (login)
- Cadastro, consulta, atualização e remoção de comandas com produtos (Controller → Service → DAO)
- Documentação Swagger UI
## Instalação
1. Clone o repositório:
```sh
git clone https://github.com/SamuelCandido/RestAPI-Python.git
cd Rest
```
2. Instale as dependências:
```sh
pip install -r requirements.txt
```
3. Execute a aplicação:
```sh
python app.py
```
## Documentação Swagger
Acesse [http://localhost:8080/apidocs](http://localhost:8080/apidocs) para visualizar e testar os endpoints.
## Exemplos de Uso
### Cadastro de Usuário
```json
POST /RestAPIFurb/usuarios
{
"nome": "joao",
"telefone": "478888888",
"senha": "123"
}
```
### Login
```json
POST /RestAPIFurb/login
{
"nome": "joao",
"senha": "123"
}
```
### Cadastro de Comanda
```json
POST /RestAPIFurb/comandas
{
"idUsuario": 1,
"produtos": [
{"nome": "X-Salada", "preco": 30}
]
}
```
### Atualização de Produtos da Comanda
```json
PUT /RestAPIFurb/comandas/1
{
"produtos": [
{"id": 2, "nome": "X-Bacon", "preco": 35}
]
}
```
### Remoção de Usuário
```json
DELETE /RestAPIFurb/usuarios/1
```
### Remoção de Comanda
```json
DELETE /RestAPIFurb/comandas/1
```
## Observações
- O banco de dados é SQLite e já está configurado em `config.py`.
- O Swagger UI está integrado e lê o arquivo `swagger/swagger.yaml`.
- Para endpoints protegidos, envie o token JWT no header:
```
Authorization: Bearer
```
- Todos os acessos ao banco são feitos via DAOs (`UsuarioDAO`, `ComandaDAO`).
## Dependências
Veja o arquivo [`requirements.txt`](requirements.txt):
```
flask
flask_sqlalchemy
flask_marshmallow
marshmallow-sqlalchemy
flask-jwt-extended
flasgger
flask-cors
```