agrobot_base/AgroBase/AgroMonitor/bin/Debug/Python/Scripts/api.py

49 lines
1.4 KiB
Python
Raw Normal View History

2024-05-24 20:05:51 +00:00
from flask import Flask, request, jsonify
from flask_cors import CORS
import sys
apiPort = sys.argv[1]
getCordenadasEndpoint = sys.argv[2]
setCordenadasEndpoint = sys.argv[3]
getRuasSelecionadasEndpoint = sys.argv[4]
setRuasSelecionadasEndpoint = sys.argv[5]
app = Flask(__name__)
CORS(app) # Isso habilita o CORS para todas as rotas e origens
coordenadas = {}
ruas_selecionadas = []
@app.route(setCordenadasEndpoint, methods=['POST'])
def receber_coordenadas():
dados = request.json
id = dados.get('id')
lat = dados.get('latitude')
lon = dados.get('longitude')
coordenadas[id] = {'latitude': lat, 'longitude': lon}
return jsonify({'status': 'Coordenadas recebidas com sucesso!'})
@app.route(getCordenadasEndpoint, methods=['GET'])
def servir_coordenadas(id):
if id in coordenadas:
return jsonify(coordenadas[id])
else:
return jsonify({'error': 'Coordenadas não encontradas!'}), 404
@app.route(setRuasSelecionadasEndpoint, methods=['POST'])
def receber_ruas_selecionadas():
dados = request.json
ids = dados.get('ids')
global ruas_selecionadas
ruas_selecionadas = ids
return jsonify({'status': 'Ruas selecionadas recebidas com sucesso!'})
@app.route(getRuasSelecionadasEndpoint, methods=['GET'])
def servir_ruas_selecionadas():
return jsonify(ruas_selecionadas)
if __name__ == '__main__':
app.run(host='0.0.0.0', port=apiPort, debug=True)