Flask extension to validate JSON requests
Project description
Flask-json-schema
This extension makes it easy to validate JSON data that is sent to your Flask app using the jsonschema spec
Setup
Flask-json-schema is available on PyPI and can be installed with
pip install flask-json-schema
The extension can either be initialized directly:
from flask import Flask
from flask_json_schema import JsonSchema
app = Flask(__name__)
schema = JsonSchema(app)
Or through the factory method:
schema = JsonSchema()
app = Flask(__name__)
schema.init_app(app)
Quick example
from flask_json_schema import JsonSchema, JsonValidationError
from flask import Flask, jsonify, request
app = Flask(__name__)
schema = JsonSchema(app)
todo_schema = {
'required': ['todo'],
'properties': {
'todo': { 'type': 'string' },
'priority': { 'type': 'integer' },
}
}
todos = []
@app.errorhandler(JsonValidationError)
def validation_error(e):
return jsonify({ 'error': e.message, 'errors': [validation_error.message for validation_error in e.errors]})
@app.route('/todo', methods=['GET', 'POST'])
@schema.validate(todo_schema)
def create_message():
if request.method == 'POST':
todos.append( request.get_json() )
return jsonify({ 'success': True, 'message': 'Created todo' })
return jsonify(todos)
app.run('0.0.0.0', 5000, debug=True)
See example.py for the source code
Links
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-json-schema-0.0.5.tar.gz.
File metadata
- Download URL: Flask-json-schema-0.0.5.tar.gz
- Upload date:
- Size: 2.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b6f9f7c4d0be644ab6e5a780733edb2e09c132c09a4f64756e3d45c19e35c967
|
|
| MD5 |
81ee4499aeefa1d15488460e5fdd1ebe
|
|
| BLAKE2b-256 |
5fbf93a452f97f9369e0f5288f3566aef0f66f7420cccf509ba5c1ea401d283a
|
File details
Details for the file Flask_json_schema-0.0.5-py3-none-any.whl.
File metadata
- Download URL: Flask_json_schema-0.0.5-py3-none-any.whl
- Upload date:
- Size: 2.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e0e19fcd9092fac51e70a5f5f59de24837a821a89cb7323d702c46846202bea0
|
|
| MD5 |
95b3bed308ae73d3845c9a5e3c290d6d
|
|
| BLAKE2b-256 |
0f02a901d29b5b6f48e5cff98620d012c32272f9cb65c793dc0fd67a1335eff6
|