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
Close
Hashes for Flask_json_schema-0.0.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e0e19fcd9092fac51e70a5f5f59de24837a821a89cb7323d702c46846202bea0 |
|
MD5 | 95b3bed308ae73d3845c9a5e3c290d6d |
|
BLAKE2b-256 | 0f02a901d29b5b6f48e5cff98620d012c32272f9cb65c793dc0fd67a1335eff6 |