The Flask JSON API package provides boilerplate code for setting up REST based apps.
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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 |