Servidor REST com Flask
Publicado por Diego Lopes (última atualização em 03/03/2017)
[ Hits: 4.793 ]
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()
Dicionário Ingles de expressões.
PYCalculator 1.0 - Calculadora no Python
Nenhum comentário foi encontrado.
Fscrypt: protegendo arquivos do seu usuário sem a lentidão padrão de criptograr o disco
Faça suas próprias atualizações de pacotes/programas no Void Linux e torne-se um Contribuidor
Como rodar o Folding@home no Linux
Criando um painel de controle (Dashboard) para seu servidor com o Homepage
O Abismo entre o Código e o Chão: Saltos Tecnológicos e a Exclusão Estrutural no Brasil
Pisando no acelerador do Linux Mint: Kernel XanMod, zRAM e Ajustes de Swap
Como compilar kernel no Linux Mint
Lançamento do Brutal DOOM test 6
Consertando o erro no Brave de webgl
Solução para ter de volta as bordas e barra de títulos das janelas em zenity no Debian 13.x
Seno, Coseno, Tangente em CLIPPER (1)
Inserir uma URL num arquvo pelo Ubuntu (CLIPPER) (0)
VMWare Player não conecta na rede nem consigo intercambiar arquivos (1)









