The Flask JSON API package provides boilerplate code for setting up REST based apps written with Flask.
Installing flask-json-api
pip install flask-json-api
Using Flask JSON API
Using Flak JSON API is as easy as initiating it with the Flask app instance:
from flask import Flask
from flask_json_api import FlaskJsonApi
app = Flask(__name__)
flask_json_api = FlaskJsonApi(app)
How it works
This package requires the application/json content-type header, or else an HTTP error will be returned:
import requests
# providing the application/json content type will succeed
url = 'http://localhost:5000/api'
headers = {'Content-Type': 'application/json'}
r = requests.get(url, headers=headers)
assert r.status_code == 200
# not providing the application/json content type will fail
url = 'http://localhost:5000/api'
r = requests.get(url)
assert r.status_code == 415
Register expected and unexpected exception types:
- Although all errors should be returned as JSON, you can register different exception types as:
Expected Errors - will return 400 http error code (and logged with WARNING level)
Unexpected Errors - will return 500 http error code (and logged with ERROR level)
class ExpectedError(Exception):
"""Expected error, such as Data Validation Error"""
class UnexpectedError(Exception):
"""Unexpected error, such as database is not accessible"""
flask_json_api.register_expected_exception(ExpectedError)
flask_json_api.register_unexpected_exception(UnexpectedError)
Whitelisting paths that do not require application/json
Whenever the flask.request.path starts with any of these exclude_paths, then the application/json header won’t be required.
flask_json_api.set_application_json_exclude_paths(exclude_paths=['/home'])
# Please note that if the exclude_paths will contain '/',
# then no path will require the application/json content-type
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
flask-json-api-1.0.0.tar.gz
(3.5 kB
view details)
File details
Details for the file flask-json-api-1.0.0.tar.gz.
File metadata
- Download URL: flask-json-api-1.0.0.tar.gz
- Upload date:
- Size: 3.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4fc21069bc85ba1968c9fd36d2c8d4b1e0657568ed94735d07ef628e5d4fac2b
|
|
| MD5 |
ba549df81c393363129f284010e3773d
|
|
| BLAKE2b-256 |
f987d486b9b1381a896b77e196e097e37dfe6611c9ba5d805b6a6277adec6e3d
|