Exemplo n.º 1
0
import json
import hashlib
from flask import Blueprint, request, url_for
from flask_restful import Api, Resource, abort
from flask_restful import reqparse, fields, marshal_with
from flask_jwt import jwt_required
from {{cookiecutter.project_name}}.v1.models.user import User
from {{cookiecutter.project_name}} import db


user_bp = Blueprint('user_bp', __name__)
user_api = Api(user_bp)
user_bp.API_VERSION = '1.0'


@user_bp.after_request
def additional_info(response):
    response.headers['API-Version'] = '1.0'
    if request.method in ['GET', 'HEAD']:
        response.headers['ETag'] = hashlib.sha1(json.dumps(response.data)).hexdigest()
    return response


# By default parse returns the first error caught.
# Setting bundle_errors property to true to get all the errors.
user_parser = reqparse.RequestParser(bundle_errors=True)
user_parser.add_argument('first_name', type=str, required=True, help="User's First Name")
user_parser.add_argument('last_name', type=str, required=True, help="User's Last Name")
user_parser.add_argument('username', type=str, required=True, help="Choose a username. It needs to be unique.")
user_parser.add_argument('password', type=str, required=True, help="Choose a password")
Exemplo n.º 2
0
''' Blueprint location '''
from flask import Blueprint


api_bp = Blueprint('api_bp', __name__)
api_bp.API_VERSION = '1.0'
# TODO: figure out API versioning based on blueprints
# this needs to be done after implementing Flask-RESTful


@api_bp.after_request
def additional_info(response):
    response.headers['API-Version'] = '1.0'
    return response