не удалось запустить беспокойный постпроцессор фляги

Я использую Flask-Restless 0.17.0 и не могу получить функция препроцессора или постпроцессора для срабатывания. Для справки, у меня есть модель 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]},
)

Я что-то упускаю? Любые указатели, подсказки и т.д. были бы очень признательны!


person dino    schedule 11.02.2016    source источник


Ответы (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]}.

Использованная литература:

person Robᵩ    schedule 11.02.2016
comment
Спасибо за вашу помощь @Robᵩ. Я просматривал документацию latest (по умолчанию от Google), которая, по-видимому, немного меняет API. Я пытался ковыряться в исходном коде, но терялся в своем фляжном n00bness. - person dino; 11.02.2016
comment
Я разместил проблему github на странице Flask-Restless, чтобы лучше фиксировать версию документации. Еще раз спасибо за вашу помощь github.com/jfinkels/flask-restless/issues/485 - person dino; 11.02.2016