评估测试脚本时出错:SyntaxError:意外令牌':'

时间:2020-06-17 16:46:12

标签: python json flask postman

我是第一次(新手)使用Postman,测试了一个接受Json数据的Flask应用,而Postman一直给我这个错误yield call(action.meta.redirect, action.meta.path) ,但我的Flask应用看来还可以。 Flask应用程序接受Json并返回There was an error in evaluating the test script: SyntaxError: Unexpected token ':'200,但似乎工作正常……

这是我通过Postman控制台发送给Flask的Json: 400

有什么令人担心的吗?任何提示,不胜感激..

在Flask中,我可以将数据保存到sql似乎工作正常的{"Date": "2020-13-16T13:37:22.501743", "MeterReading": 5}响应。 200

更新FLASK应用代码

127.0.0.1 - - [17/Jun/2020 11:39:24] "[37mPOST /dataear HTTP/1.1[0m" 200 -

Python控制台运行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)

0 个答案:

没有答案