无法触发烧瓶不安分的后处理器

Posted

技术标签:

【中文标题】无法触发烧瓶不安分的后处理器【英文标题】:unable to trigger flask restless postprocessor 【发布时间】:2016-05-21 17:45:12 【问题描述】:

我正在使用Flask-Restless 0.17.0,但无法触发preprocessor or postprocessor function。作为参考,我有一个 SQLAlchemy 模型,如下所示:

class Transaction(Base):
    id = Column(Integer, primary_key=True)
    name = Column(Unicode)
    description = Column(Unicode)

我可以毫无问题地注册 API 端点,但我无法让这个 hello_world 后处理器终生打印“hello world”:

def hello_world(**kwargs):
    print 'hello world'

manager.create_api(
    fraud.data.Transaction
    methods=['GET', 'POST', 'DELETE'],
    postprocessors='POST_RESOURCE': [hello_world],
)

我错过了什么吗?任何指针、提示等将不胜感激!

【问题讨论】:

【参考方案1】:

0.17.0 版不支持POST_RESOURCE。支持的后处理器类型似乎是:

'GET_SINGLE' 请求获取模型的单个实例。 'GET_MANY' 请求获取 * 模型的整个实例集合。 'PATCH_SINGLE' or'PUT_SINGLE'` 请求修补模型的单个实例。 'PATCH_MANY''PATCH_SINGLE' 请求修补模型的整个实例集合。 'POST' 请求发布模型的新实例。 'DELETE_SINGLE' 'DELETE_MANY'

为了您的使用,请尝试postprocessors='POST': [hello_world]

参考资料:

http://flask-restless.readthedocs.org/en/0.12.0/customizing.html#request-preprocessors-and-postprocessors https://github.com/jfinkels/flask-restless/blob/0.17.0/flask_restless/views.py

【讨论】:

感谢您的帮助@Robᵩ。我正在查看latest 文档(来自谷歌的默认文档),它显然对 API 进行了相当大的更改。我尝试在源代码中四处寻找,但在我的烧瓶 n00bness 中迷失了。 我在 Flask-Restless 页面上发布了一个 github 问题,以更好地捕获文档的版本控制。再次感谢您的帮助github.com/jfinkels/flask-restless/issues/485

以上是关于无法触发烧瓶不安分的后处理器的主要内容,如果未能解决你的问题,请参考以下文章

烧瓶 - 不安分使用分页或得到完整的回应

在两个烧瓶服务器之间共享会话

带有mod_wsgi的flask-restless无法连接到MySQL服务器

烧瓶不提供图片

烧瓶返回图像对象

探索 Unity 中的后处理