Servidor REST com Flask
Publicado por Diego Lopes (última atualização em 03/03/2017)
[ Hits: 4.710 ]
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
Resolução de problemas por meio de buscas - Labirinto (Inteligência Artificial)
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
Atualizar Linux Mint 22.2 para 22.3 beta
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Assisti Avatar 3: Fogo e Cinzas (2)
Conky, alerta de temperatura alta (8)
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (42)









