Servidor REST com Flask
Publicado por Diego Lopes (última atualização em 03/03/2017)
[ Hits: 4.707 ]
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()
Combinações de letras, números e muito mais
LISCH e EISCH - Método de resolução de colisão
Script para obter um wallpaper de como está o globo em tempo real
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
Como fazer a conversão binária e aplicar as restrições no Linux
Como quebrar a senha de um servidor Linux Debian
Como bloquear pendrive em uma rede Linux
Um autoinstall.yaml para Ubuntu com foco em quem vai fazer máquina virtual
Instalar GRUB sem archinstall no Arch Linux em UEFI Problemático
Formas seguras de instalar Debian Sid (13)
Malware encontrado em extensões do Firefox. (0)
Fiz uma pergunta no fórum mas não consigo localizar [RESOLVIDO] (21)









