RESTFul API in Flask With JSON Web Token
原视频https://www.youtube.com/watch?v=WxGBoY5iNXY&t=477s
未加token验证前【crud操作】
# -*- encoding: utf-8 -*-
"""
@File : app.py
@Time : 2020/2/13 2:07 下午
@Author : zhengjiani
@Email : 936089353@qq.com
@Software: PyCharm
"""
from flask import Flask, request, jsonify, make_response
from flask_sqlalchemy import SQLAlchemy
import uuid
from werkzeug.security import generate_password_hash, check_password_hash
import jwt
import datetime
from functools import wraps
app = Flask(__name__)
USERNAME = 'root' # 用户名
PASSWORD = '*' # 密码
HOST = 'localhost' # 数据库地址
PORT = '3306' # 端口
DATABASE = 'flask_pos' # 数据库名
database_url = 'mysql+pymysql://{}:{}@{}:{}/{}?charset=utf8'.format(
USERNAME, PASSWORD, HOST, PORT, DATABASE
)
# 添加数据库配置文件到flask app中
app.config['SECRET_KEY'] = 'the quick brown fox jumps over the lazy dog'
app.config['SQLALCHEMY_DATABASE_URI'] = database_url
app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
db = SQLAlchemy(app)
class User(db.Model):
__tablename__ = 'users'
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(32), index=True)
password = db.Column(db.String(128))
public_id = db.Column(db.String(50), unique=True)
admin = db.Column(db.Boolean)
@app.route('/user', methods=['GET']