Skip to main content
https://travis-ci.org/bluele/Flask-request-params.svg?branch=master

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)

Metadata

Release files for Flask-request-params 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for Flask-request-params 0.3.0
File Size Uploaded
Flask-request-params-0.3.0.tar.gz 4.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for Flask-request-params 0.3.0
File Interpreter ABI Platform
Flask_request_params-0.3.0-py2-none-any.whl Python 2 none any Details

Total release size: 11.1 kB

Release files / Flask-request-params-0.3.0.tar.gz

Download URL Flask-request-params-0.3.0.tar.gz
Size 4.2 kB
Tags Source
SHA-256 checksum
How to use checksums
0e15f8999049c8d1a2dcded9a6dbb7ffc731fedbdcb5ee1eba12af4800a2b905
BLAKE2b-256 checksum
How to use checksums
3314f41ab27df8d0c59ddfe5063a5bdfcb687174e7573eac62ded2f758b7447f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / Flask_request_params-0.3.0-py2-none-any.whl

Download URL Flask_request_params-0.3.0-py2-none-any.whl
Size 7.0 kB
Tags Python 2
SHA-256 checksum
How to use checksums
e4117b69cc7ab603e99491b3bca31471c1bba90d0f5a078c513ee00926de00b4
BLAKE2b-256 checksum
How to use checksums
f6ed5fe85e75dd20e880bc54b8119c7403cc2f7e5f95e09be2e6169b951ab88c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.3

1 release file

0.2.2

1 release file

0.2.1

1 release file

0.2.0

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page