flask请求参数为flask提供类似rails的http请求参数接口。
Flask-request-params的Python项目详细描述
flask请求参数为flask提供类似rails的http请求参数接口。
支持混合参数(get、post、post-json),Rails Strong_Parameters。
文件是here。
安装
要安装烧瓶请求参数,只需:
pip install flask-request-params
或者,您可以下载存储库并通过执行以下操作手动安装:
git clone git@github.com:bluele/flask-request-params.git cd flask-request-params python setup.py install
示例
有关更多代码,请参见examples。
客户端代码
# support hash type $ curl -X POST http://localhost:5000/echo/user -d 'user[name]=john&user[password]=pass' { "path": "user", "user": { "name": "john", "password": "pass" } } # support array type $ curl -X POST http://localhost:5000/echo/lang -d 'languages[]=python&languages[]=golang' { "path": "lang", "languages": [ "python", "golang" ] } # support strong_parameters $ curl -X POST http://localhost:5000/user -d 'user[name]=bluele&user[password]=password' { "name": "bluele", "password": "password" }
服务器代码
from flask import Flask, request, render_template, jsonify from flask_request_params import bind_request_params app = Flask(__name__) app.secret_key = 'secret' # bind rails like params to request.params app.before_request(bind_request_params) # just return request.params @app.route('/echo/<path>', methods=['GET', 'POST']) def echo(path): return jsonify(request.params) @app.route('/user', methods=['POST']) def create_user(): user = request.params.require('user').permit('name', 'password') # do something return jsonify(user) # serve at localhost:5000 app.run(debug=True)