Flask + marshmallow 用于漂亮的 API
项目描述
Flask + marshmallow 用于漂亮的 API
Flask -Marshmallow 是 Flask (一个 Python Web 框架)和marshmallow (一个对象序列化/反序列化库)的一个薄集成层,它为 marshmallow 添加了附加功能,包括 HATEOAS-ready API 的 URL 和超链接字段。它还(可选)与Flask-SQLAlchemy集成。
立即获取
pip install flask-marshmallow
创建您的应用程序。
from flask import Flask
from flask_marshmallow import Marshmallow
app = Flask(__name__)
ma = Marshmallow(app)
写你的模型。
from your_orm import Model, Column, Integer, String, DateTime
class User(Model):
email = Column(String)
password = Column(String)
date_created = Column(DateTime, auto_now_add=True)
用棉花糖定义你的输出格式。
class UserSchema(ma.Schema):
class Meta:
# Fields to expose
fields = ("email", "date_created", "_links")
# Smart hyperlinking
_links = ma.Hyperlinks(
{
"self": ma.URLFor("user_detail", values=dict(id="<id>")),
"collection": ma.URLFor("users"),
}
)
user_schema = UserSchema()
users_schema = UserSchema(many=True)
输出视图中的数据。
@app.route("/api/users/")
def users():
all_users = User.all()
return users_schema.dump(all_users)
@app.route("/api/users/<id>")
def user_detail(id):
user = User.get(id)
return user_schema.dump(user)
# {
# "email": "fred@queen.com",
# "date_created": "Fri, 25 Apr 2014 06:02:56 -0000",
# "_links": {
# "self": "/api/users/42",
# "collection": "/api/users/"
# }
# }
http://flask-marshmallow.readthedocs.io/
学到更多
要了解有关棉花糖的更多信息,请查看其文档。
项目链接
执照
麻省理工学院许可。有关更多详细信息,请参阅捆绑的LICENSE文件。
项目详情
关
flask_marshmallow -0.14.0-py2.py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 2adcd782b5a4a6c5ae3c96701f320d8ca6997995a52b2661093c56cc3ed24754 |
|
| MD5 | d07da5745a4ff0dcc5f250acb499fd3b |
|
| 布莱克2-256 | bfa1eb163776684d5f03ca34a582fe4859ad9acfbb9835aed2e5c87162931a22 |