Я впервые использую Postman (newb ie) с тестированием приложения Flask, которое принимает данные Json, и Postman продолжает выдавать мне эту ошибку There was an error in evaluating the test script: SyntaxError: Unexpected token ':'
, но мое приложение Flask выглядит нормально. Приложение Flask принимает Json и либо возвращает 200
, либо 400
, и, похоже, все работает нормально ...
Это Json, которое я отправляю на Flask через консоль почтальона: {"Date": "2020-13-16T13:37:22.501743", "MeterReading": 5}
Что-нибудь беспокоит ?? Любые советы очень ценятся ..
В Flask Я могу сохранить данные в sql, который, кажется, работает нормально 200
ответ. 127.0.0.1 - - [17/Jun/2020 11:39:24] "[37mPOST /dataear HTTP/1.1[0m" 200 -
ОБНОВЛЕНИЕ FLASK КОД ПРИЛОЖЕНИЯ
from flask import Flask, make_response, request, render_template, jsonify, make_response
import pandas as pd
from sqlalchemy import create_engine
from pandas.api.types import is_string_dtype
from pandas.api.types import is_numeric_dtype
app = Flask(__name__)
@app.route('/dataear', methods=['POST'])
def getdata():
r = request.get_json()
if r.keys() == {'Date', 'MeterReading'}:
try:
df = pd.json_normalize(r)
df = df.set_index('Date')
#print(is_string_dtype(df.index))
#print(is_numeric_dtype(df.MeterReading))
if is_string_dtype(df.index) and is_numeric_dtype(df.MeterReading):# checker to verify MeterReading is numerical
engine = create_engine('sqlite:///save_pandas.db', echo=True)
sqlite_connection = engine.connect()
sqlite_table = "OutsideTemp_MeterReading"
df.to_sql(sqlite_table, sqlite_connection, if_exists='append')
sqlite_connection.close()
print("Data saved to sql!")
return 'OK', 200
else:
print("rejected incorrect meter data unable to save data to SQL")
return 'Bad Request', 400
except:
print("rejected incorrect date format unable to save data to SQL")
return 'Bad Request', 400
else:
print("rejected incorrect keys for incoming json data")
return 'Bad Request', 400
if __name__ == '__main__':
app.run(host='0.0.0.0',debug=True)
Python КОНСОЛЬ РАБОТАЕТ FLASK ПРИЛОЖЕНИЕ
Incoming..
2020-06-17 11:39:16,024 INFO sqlalchemy.engine.base.Engine SELECT CAST('test plain returns' AS VARCHAR(60)) AS anon_1
2020-06-17 11:39:16,024 INFO sqlalchemy.engine.base.Engine ()
2020-06-17 11:39:16,027 INFO sqlalchemy.engine.base.Engine SELECT CAST('test unicode returns' AS VARCHAR(60)) AS anon_1
2020-06-17 11:39:16,028 INFO sqlalchemy.engine.base.Engine ()
2020-06-17 11:39:16,030 INFO sqlalchemy.engine.base.Engine PRAGMA main.table_info("OutsideTemp_MeterReading")
2020-06-17 11:39:16,030 INFO sqlalchemy.engine.base.Engine ()
2020-06-17 11:39:16,038 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
2020-06-17 11:39:16,040 INFO sqlalchemy.engine.base.Engine INSERT INTO "OutsideTemp_MeterReading" ("Date", "MeterReading") VALUES (?, ?)
2020-06-17 11:39:16,042 INFO sqlalchemy.engine.base.Engine ('2020-12-16T13:37:22.501743', 567234)
2020-06-17 11:39:16,046 INFO sqlalchemy.engine.base.Engine COMMIT
2020-06-17 11:39:16,055 INFO sqlalchemy.engine.base.Engine SELECT name FROM sqlite_master WHERE type='table' ORDER BY name
2020-06-17 11:39:16,057 INFO sqlalchemy.engine.base.Engine ()
Data saved to sql!
127.0.0.1 - - [17/Jun/2020 11:39:16] "[37mPOST /dataear HTTP/1.1[0m" 200 -