22.flask-restless
Flask-Restless为使用SQLAlchemy(或Flask-SQLAlchemy)定义的数据库模型提供简单的ReSTful API生成。生成的API以JSON格式发送和接收消息。
安装
pip install flask_restless配置
导入模块
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_restless.manager import APIManager数据库配置
HOSTNAME = "127.0.0.1"
PORT = "3306"
DATABASE = "test"
USERNAME = "root"
PASSWORD = "123456"
DB_URI = "mysql+pymysql://{}:{}@{}:{}/{}?charset=utf8".format(USERNAME,PASSWORD,HOSTNAME,PORT,DATABASE)
# Create the Flask application and the Flask-SQLAlchemy object.
app = Flask(__name__)
app.config['DEBUG'] = True
app.config['SQLALCHEMY_DATABASE_URI'] = DB_URI
db = SQLAlchemy(app)创建模型类
生成表
创建Flask-Restless API manager
创建视图映射,通过
/api/<tablename>进行访问
使用
通过使用http://<host>:<port>/api/<tablename>进行访问。
通过post请求进行创建数据

通过get请求获取数据

常见Restful API接口
GET /api/person获取所有数据
GET /api/person/(int: id)通过指定id数据数据
GET /api/person?q=<searchjson>通过关键字参数
q匹配参数,进行查询name:指定的fieldname字段,即类的属性名称。
value:指定的参数值,配置op使用。
op:指定匹配的方式
运算符
==,eq,equals,equals_to!=,neq,does_not_equal,not_equal_to>,gt,<,lt>=,ge,gte,geq,<=,le,lte,leqin,not_inis_null,is_not_nulllikehasany
limit指定要返回的最大对象数。
offset指定返回实例列表的结果集中的偏移量。
order_by其中,是与所请求模型的字段名称相对应的字符串,而是用于升序的“ asc”或用于降序的“ desc”。
如果是形式为 __ 的字符串,则可以在相关模型上指定字段。
singer如果指定为True,只返回一个结果
示例
任意布尔运算
返回仅包括年龄属性小于10或大于20的Person实例:
两个值之间的属性
返回包括年龄属性在10到20之间的Person实例:
一个结果
返回仅包含ID等于1的唯一Person实例:
比较两个属性
返回包含年龄属性大于或等于height属性的值的Person实例:
关系的比较属性
返回包括与Apple相关的Person实例:
any
返回包含具有相关计算机实例且其id字段的值大于1的Person实例:
DELETE /api/person/(int: id)通过指定id删除数据
DELETE /api/person仅当在调用
create_api()方法时将allow_delete_many关键字参数设置为True时,此选项才可用。删除与q URL查询参数中提供的搜索查询匹配的Person的所有实例。
POST /api/person创建数据
更多参见文档
最后更新于
这有帮助吗?
