2016-02-11 70 views
0

我正在使用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]}, 
) 

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

回答

3

版本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]}

参考文献:

+0

感谢您的帮助@Robᵩ。我正在查看'latest'文档(默认从谷歌),这显然改变了API相当多。我尝试在源代码中寻找,但在我的烧瓶中却迷失了方向。 – dino

+0

我在Flask-Restless页面上发布了一个github问题,以更好地捕获文档的版本。再次感谢您的帮助https://github.com/jfinkels/flask-restless/issues/485 – dino