Add the @validate_json
decorator and schema class constant to
flask_restful.Resource
methods (post, get, etc.) in order to validate
requests meet the jsonschema
.
Ensure JSON request matches schema specified in the class the wrapped method belongs to, provide that valid JSON to the method, or abort 400 with the validation error message.
from flask_restful_jsonschema import validate_json
class Users(flask_restful.Resource):
SCHEMA_POST = {
"type": "object",
"properties": {
"email": {"type": "string"},
"password": {"type": "string"},
},
"required": ["email", "password"],
}
SCHEMA_PUT = {
"type": "object",
"properties": {
"email": {"type": "string"},
"password": {"type": "string"},
},
}
SCHEMA_GET = {
"type": "object",
"properties": {
"email": {"type": "string"},
},
"required": ["email"],
}
@validate_json
def post(self, json_request):
json_request["email"]
json_request["password"]
@validate_json
def put(self, json_request):
json_request.get("email")
json_request.get("password")
@validate_json
def get(self, json_request):
json_request["email"]