Flask-request-params provides Rails-like interface to HTTP Request Parameters for Flask.
Project description
Flask-request-params provides Rails-like interface to HTTP Request Parameters for Flask.
Supports mixed parameters(GET, POST, POST-JSON), Rails Strong_Parameters.
Documents are here.
Installation
To install Flask-request-params, simply:
pip install flask-request-params
Or alternatively, you can download the repository and install manually by doing:
git clone git@github.com:bluele/flask-request-params.git cd flask-request-params python setup.py install
Examples
See examples for more code.
Client code
# 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" }
Server code
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)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for Flask-request-params-0.3.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e15f8999049c8d1a2dcded9a6dbb7ffc731fedbdcb5ee1eba12af4800a2b905 |
|
MD5 | 9c3819a8d12b4c53d702d444367fe51e |
|
BLAKE2b-256 | 3314f41ab27df8d0c59ddfe5063a5bdfcb687174e7573eac62ded2f758b7447f |
Close
Hashes for Flask_request_params-0.3.0-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e4117b69cc7ab603e99491b3bca31471c1bba90d0f5a078c513ee00926de00b4 |
|
MD5 | 7b022b03460d3232d46c5a9548d86a21 |
|
BLAKE2b-256 | f6ed5fe85e75dd20e880bc54b8119c7403cc2f7e5f95e09be2e6169b951ab88c |