首页 > 解决方案 > Postgresql 和 Flask 之间的 REST 请求

问题描述

我从 RESTApi 和 Flask 开始,我正在请求一个 Postgresql 表,并且我正在尝试分解我的代码以有一个以我的表名作为参数的唯一请求

df_srcstatistiquedata = pd.read_sql_query('select * from "srcstatistiquedata"', con=engine)
df_srcstatistiquesuppression = pd.read_sql_query('select * from "srcstatistiquesuppression"', con=engine)
df_srcentete = pd.read_sql_query('select * from "srcentete"', con=engine)


@app.route('/api/srcstatistiquedata', methods=("POST", "GET"))
def get_srcstatistiquedata_json():
    data_json_srcstatistiquedata = df_srcstatistiquedata.to_json()
    return data_json_srcstatistiquedata

@app.route('/api/srcstatistiquesuppression', methods=("POST", "GET"))
def get_srcstatistiquesuppression_json():
    data_json_srcstatistiquesuppression = df_srcstatistiquesuppression.to_json()
    return data_json_srcstatistiquesuppression

@app.route('/api/srcentete', methods=("POST", "GET"))
def get_srcentete_json():
    data_json_srcentete = df_srcentete.to_json()
    return data_json_srcentete

这是我的新代码,当我尝试从浏览器或 Postman请求(GET)我的 html 页面“ http://127.0.0.1:5000/api/stat_data ”时出现错误 404。

dico = {
    'stat_data': "srcstatistiquedata",
    'stat_suppr': "srcstatistiquesuppression",
    'en_tete': "srcentete"
}

def get_table(table_name):
    query = 'select * from "${table_name}"'
    return pd.read_sql_query(query, con=engine)



@app.route('/api/${table_name}', methods=("POST", "GET"))
def get_table_json():
    parametre_post = request.args.get('table')
    print(parametre_post)
    data_generique = get_table(dico[parametre_post])
    return df_generique.to_json()

为了从不同的表中获取数据,我需要修改什么?谢谢

标签: pythonpostgresqlrestflask

解决方案


推荐阅读