- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正尝试按照 docs 的建议使用带有 Marshmallow 的自定义反序列化器排除 Flask-ReSTLess API 中的列:
序列化器.py
class HeatSchema(Schema):
id = fields.Integer()
heat_index = fields.Integer()
updated_at = fields.DateTime()
class Meta:
exclude = ('updated_at',)
def make_object(self, data):
print 'Making object from', data
return Heat(**data)
server.py
from serializers import HeatSchema
heat_schema = HeatSchema()
def heat_serializer(instance):
return heat_schema.dump(instance).data
def heat_deserializer(data):
return heat_schema.load(data).data
apimanager = APIManager(app, flask_sqlalchemy_db=db)
apimanager.create_api(
heat,
methods=['GET'],
url_prefix='/api/v1',
collection_name='heat',
results_per_page=10,
serializer=heat_serializer,
deserializer=heat_deserializer
)
无论我如何处理 Heat 模式,我都会从 API 获得相同的响应。我可以放
blahblah = fields.Integer()
没有任何变化。调试时我什至无法在序列化器中设置断点,所以我假设我使用 Flask-ReSTLess 的设置不正确?
最佳答案
我也遇到了同样的问题。该行为似乎只出现在 GET_MANY 函数中。如果您尝试获取单个对象实例,它应该符合棉花糖模式。这是 Flask-reSTLess bug tracker 上报告的一种奇怪行为: https://github.com/jfinkels/flask-restless/issues/167
用户 itsrifat 提供了添加后处理器的解决方法:
<code>person_schema = PersonSchema()</code><p></p>
<p><code>def person_deserializer(data):</code>
<code>return person_schema.load(data).data</code></p>
<p><code>def person_after_get_many(result=None, search_params=None, **kw):</code>
<code>result['objects'] = [person_deserializer(obj) for obj in result['objects']]</code></p>
<p><code>apimanager.create_api(Person,methods=['GET', 'POST','PUT', 'DELETE'],</code>
<code>postprocessors={</code>
<code>'GET_MANY':[person_after_get_many]</code>
<code>}</code>
<code>)</code>
</p>
关于python - Flask-ReSTLess Marshmallow 序列化器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31008638/
我有两个 Flask-SQLAlchemy 模型和各自的 Flask-ReSTLess API 端点,如下所示: class Person(db.Model): person_id = db.
我最近使用 Flask-ReSTLess 创建 API。 当我尝试查询 API 时,我在 Web 浏览器 (firefox) 上收到“无法构建查询”的错误消息。这是查询: http://localho
我在使用 Flask RESTless 时遇到了一些小问题,也许你可以帮助我 :) 我的 SQL(和 SQLAlchemy)中有一些表是 N..N 关系的结果,它们的主键是两列的总和。例如 Table
我有一个后端应用程序 flask-restless它会回复一些 json 数据。设置正确。我通过 $.ajax 函数从 javascript 请求这些数据。它与一个过滤器完美配合,我需要更多过滤器,但
我有这两个模型(使用 Flask-SQLAlchemy 定义): class BankAccount(db.Model): id = db.Column(db.Integ
安静和不安之间的基本区别是什么,我读过一些文章,人们似乎可以互换使用它们。 最佳答案 REST 代表 REpresentational State Transfer,有点像这样: 我们有一堆唯一可寻址
我和一个 friend 一直在阅读 Flask-RESTless 的文档,它说: The arguments to the preprocessor and postprocessor functio
我正在使用 Flask-ReSTLess 制作一个 super 简单的 REST API。我想添加身份验证,但仅用于 put/post/delete 调用,而我想将 get 调用保留为公开。 到目前为
我一直在寻找有关如何自动启动我的 GlassFish 服务器以及其上的 RESTful 应用程序的说明。我通过 NetBeans IDE 安装它,我通常通过 NetBeans 控制它,但我需要从开发环
我想从 flask reSTLess 中返回一个自定义属性,例如 class Item(db.Model): creator_id = db.Column(db.Integer, db.For
我正尝试按照 docs 的建议使用带有 Marshmallow 的自定义反序列化器排除 Flask-ReSTLess API 中的列: 序列化器.py class HeatSchema(Schema)
我正在使用 Flask-ReSTLess 0.17.0 并且无法获得 preprocessor or postprocessor function开火。作为引用,我有一个 SQLAlchemy 模型,
根据documentation ,搜索查询应如下所示: GET /api/person?q={"filters":[{"name":"age","op":"ge","val":10}]} 如何比较日期
我有这样的东西: { "id": 1, "username": "plasmy", "userdetails": [ { "detail": "A Name",
我正在尝试学习如何在 pythonanywhere 上提供的 Flask 应用程序和 mysql 数据库中提供数据。 我添加了一条到/test 的路由,该路由旨在连接到现有的 mysql 数据库表,然
我正在尝试构建一个在 Google App Engine 上运行的 RESTful Web 服务。我遇到了两个可能有用的项目, RESTless (Xydra) RESTeasy 当我尝试检查其中任何
我安装了一个 Flask 应用程序,正在运行 Flask-reSTLess API以下命令执行成功: curl -H "Content-type: application/json" -X POST
当我尝试使用curl 使用 unicode 字段创建模型实例时,出现 UnicodeEncodeError 这是我的代码,为了简单起见,我将其放在一个文件中: import flask import
我是 Python 新手,正在探索 Flask 框架。 我正在使用 Flask Restful 开发一个简单的基于 Rest 的 API。现在,我发现的最大挑战是将 SQL Alchemy 模型类用于
我正在使用 Flask-ReSTLess 构建一个 API,它需要一个 API key ,该 key 将位于 Authorization HTTP header 中。 在 Flask-ReSTLess
我是一名优秀的程序员,十分优秀!