这篇文章给大家分享的是有关flask接受不同post请求的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

一般来说,传递请求参数的方式有两种,一是打包成 JSON 之后再传递,二是直接放进 URL 进行传递 。对于第一种方式,一般用 POST 请求来传递参数,然后用 FLASK 中 request 模块的 get_json() 方法获取参数。而对于第二种方式,一般用 GET 请求传递参数,然后从 request.args 中用 get() 方法获取参数,不过需要说明的是用 POST 请求也可以通过 URL 的方式传递参数,而且获取参数的方式与 GET 请求相同。下面用代码来说明获取参数的过程。

1. 获取 POST 请求参数

fromflaskimportrequest,jsonify@app.route('/',methods=["POST"])defpost_data():#假设有如下JSON数据#{"obj":[{"name":"John","age":"20"}]}#方法一data=request.get_json()#获取JSON数据data=pd.DataFrame(data["obj"])#获取参数并转变为DataFrame结构#方法二#data=request.json#获取JOSN数据#data=data.get('obj')#以字典形式获取参数#经过处理之后得到要传回的数据res=some_function(data)#将DataFrame数据再次打包为JSON并传回#方法一res='{{"obj":{}}}'.format(res.to_json(orient="records",force_ascii=False))#方法二#res=jsonify({"obj":res.to_json(orient="records",force_ascii=False)})returnres

2. 获取 GET 请求参数

@app.route('/',methods=["GET","POST"])#GET和POST都可以defget_data():#假设有如下URL#http://10.8.54.48:5000/index?name=john&age=20#可以通过request的args属性来获取参数name=request.args.get("name")age=request.args.get("startDate")#经过处理之后得到要传回的数据res=some_function(name,age)#将数据再次打包为JSON并传回resp='{{"obj":{}}}'.format(res.to_json(orient="records",force_ascii=False))returnresp

感谢各位的阅读!关于flask接受不同post请求的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!