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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file Flask-request-params-0.3.0.tar.gz.
File metadata
- Download URL: Flask-request-params-0.3.0.tar.gz
- Upload date:
- Size: 4.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0e15f8999049c8d1a2dcded9a6dbb7ffc731fedbdcb5ee1eba12af4800a2b905
|
|
| MD5 |
9c3819a8d12b4c53d702d444367fe51e
|
|
| BLAKE2b-256 |
3314f41ab27df8d0c59ddfe5063a5bdfcb687174e7573eac62ded2f758b7447f
|
File details
Details for the file Flask_request_params-0.3.0-py2-none-any.whl.
File metadata
- Download URL: Flask_request_params-0.3.0-py2-none-any.whl
- Upload date:
- Size: 7.0 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e4117b69cc7ab603e99491b3bca31471c1bba90d0f5a078c513ee00926de00b4
|
|
| MD5 |
7b022b03460d3232d46c5a9548d86a21
|
|
| BLAKE2b-256 |
f6ed5fe85e75dd20e880bc54b8119c7403cc2f7e5f95e09be2e6169b951ab88c
|