import sys
sys.path.append(r"D:\data\proj2024\flask_lwyc")
from query_multiCoilNum import query_multiCoilNum
from flask import Flask, request, jsonify
import traceback
def trace_exception(e):
traceback.format_exc().split(' raise ')[-1]
app = Flask(__name__)
@app.route('/', methods=['POST', 'GET'])
def main():
method = request.method
if method == 'POST':
try:
result = request.get_json("input")
except Exception as e:
result = trace_exception(e)
else: # default method get but error 405 if route(methods contain not get)
try:
result = request.args.get("input")
except Exception as e:
result = trace_exception(e)
return jsonify({"result": result, "methods": request.method})
if __name__ == '__main__':
app.run(host="0.0.0.0", debug=True)
import requests
from json import dumps
def send_request(url="http://localhost:5000", input=None, method='GET'):
if method == 'POST':
response = requests.post(url, data=input)
if response.status_code == 200:
print(response.json())
else:
response = requests.get(url, params=input)
if response.status_code == 200:
print(response.json())
print(response.status_code)
if __name__ == "__main__":
input = "input=input"
input = {"input": "input"} # method get need not jsonize but string or dict else None or null in browser
# input = dumps(input) # methode post need to jsonize string or dict if get_json()
send_request(input=input)