Servidor REST com Flask
Publicado por Diego Lopes (última atualização em 03/03/2017)
[ Hits: 4.709 ]
Homepage:
O código é um exemplo de REST lado servidor que pode ser usado para estudos.
#!/usr/bin/python
#autor:Diego Lopes
#data:26/01/2017
#descrição: servidor para receber dados em formato json
#import library
from flask import Flask, request, jsonify
app = Flask(__name__)
#listas para os dados
lojadados = []
clientedados = []
prodserv = []
consumodados = []
despesasdados = []
#método principal para messagem de bem vindo para o usuário
@app.route('/')
def fIndex():
leb = "Welcome - Raijin This is server analisy of datas.\n"
leb = leb + "Version:1.0.0.0\n"
leb = leb + "Author:Diego Lopes"
return leb
#método get para ler dados das lojas
@app.route('/lojas', methods=['GET'])
def fGetLoja():
return jsonify({'lojas' : lojadados})
#método post para cadastrar novas lojas
@app.route('/lojas', methods=['POST'])
def fPostLoja():
#montando json
dadosloja = {'id' : request.json['id'],
'nomeloja' : request.json['nomeloja'],
'responsavel' : request.json['responsavel'],
'cpfcnpj' : request.json['cpfcnpj'],
'pessoa' : request.json['pessoa'],
'logradouro' : request.json['logradouro'],
'complemento' : request.json['complemento'],
'UF' : request.json['UF'],
'DDD' : request.json['DDD'],
'tel1' : request.json['tel1'],
'tel2' : request.json['tel2'],
'email' : request.json['email']}
lojadados.append(dadosloja)
return jsonify({'lojas' : lojadados})
# método get para ler dados dos clientes
@app.route('/cliente', methods=['GET'])
def fGetCliente():
return jsonify({'cliente' : clientedados})
#método post para cadastrar clientes
@app.route('/cliente', methods=['POST'])
def fPostCliente():
dadoscliente = { 'id' : request.json['id'],
'idloja' : request.json['idloja'],
'cliente' : request.json['cliente'],
'cpfcnpj' : request.json['cpfcnpj'],
'pessoa' : request.json['pessoa'],
'logradouro' : request.json['logradouro'],
'complemento' : request.json['complemento'],
'UF' : request.json['UF'],
'DDD' : request.json['DDD'],
'tel1' : request.json['tel1'],
'tel2' : request.json['tel2'],
'email' : request.json['email']}
clientedados.append(dadoscliente)
return jsonify({'cliente' : clientedados})
#método get para ler dados produtos e serviços
@app.route('/produtosservicos', methods=['GET'])
def fGetProdServ():
return jsonify({'produtosservicos' : prodserv})
#método post para cadastrar produtos e serviços
@app.route('/produtosservicos', methods=['POST'])
def fPostProdServ():
dadosprodserv = { 'id' : request.json['id'],
'idloja' : request.json['idloja'],
'tipo' : request.json['tipo'],
'descricao' : request.json['descricao'],
'valor' : request.json['valor']}
prodserv.append(dadosprodserv)
return jsonify({'produtosservicos' : prodserv})
#método get para ler dados consumo
@app.route('/consumo', methods=['GET'])
def fGetConsumo():
return jsonify({'consumo' : consumodados})
#método post para cadastrar consumo
@app.route('/consumo', methods=['POST'])
def fPostConsumo():
dadosconsumo = { 'id' : request.json['id'],
'idprodserv' : request.json['idprodserv'],
'idloja' : request.json['idloja'],
'idcliente' : request.json['idcliente'],
'data' : request.json['data']}
consumodados.append(dadosconsumo)
return jsonify({'consumo' : consumodados})
#método get para ler dados despesas
@app.route('/despesas', methods=['GET'])
def fGetDespesas():
return jsonify({'despesas' : despesasdados})
#método post para cadastrar despesas
@app.route('/despesas', methods=['POST'])
def fPostDespesas():
dadosdespesas = { 'id' : request.json['id'],
'valordespesas' : request.json['valordespesas'],
'datapagamento' : request.json['datapagamento'],
'tipo' : request.json['tipo']}
despesasdados.append(dadosdespesas)
return jsonify({'consumo' : despesasdados})
if __name__ == '__main__':
app.run()
Cronômetro com interface gráfico utilizando a biblioteca Tkinter
Painel com botões desligar, reiniciar, logoff e bloquear tela
Consumo de memória por processo
Nenhum comentário foi encontrado.
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Como fazer a instalação do Samba
Como fazer a conversão binária e aplicar as restrições no Linux
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (40)
Pfsense inacessivel após um periodo de tempo (2)









