2015-02-20 3 views
2

Я хочу сделать маршрут для «забытого пароля» -функции, используя Flask-Restless. Моя идея заключалась в том, что запрос может выглядеть следующим образом:Комплексные маршруты для Flask-Restless (например, «забыли пароль»)

POST /api/user/<id>/forgot_password 

и колба-Restless бы отправить этот запрос на обычай «забыл пароль» -route, который я предоставил. Таким образом, я мог бы определить свои собственные сложные операции здесь на пользовательском объекте (хранить промежуточные данные в БД, ссылку на сброс пароля электронной почты и т. Д.)

Я не смог найти такую ​​функциональность в docs for Flask-Restless. Кроме того, пытаясь сделать быстрый (хакерский) отдельный маршрут (за пределами Flask-Restless), который просто соответствовал вышеуказанному маршруту, Flask-Restless по-прежнему поднимался по запросу и возвращал 405 (Method Not Allowed).

Можно представить такую ​​функциональность и для других сложных операций (например, сменить пароль, изменить электронную почту).

Возможно ли достичь такой схемы маршрутизации? Если да, то как?

Если нет, то какая альтернатива? Обычный маршрут в отдельном проекте?

+0

Я не знаю, как «фляжка-беспокойная», но в «фляге», которая выполнима. Вы уверены, что вы включили 'методы = ['POST']' в свой вызов 'apimanager.create_api()'? Это звучит так, как вы забываете. –

+0

Я уверен, что POST включен и работает. Проблема заключается в том, чтобы добавить пользовательские функции к автоматически созданным конечным точкам Flask-Restless. Как вы говорите, это возможно в Flask, но создание отдельных маршрутов слегка победит цель Flask-Restless. – haeger

+0

На мой взгляд, использование POST для сброса пароля кажется неправильным. См. [Здесь] (http://restcookbook.com/HTTP%20Methods/put-vs-post/) для получения некоторой информации. Если вы реализуете это с помощью PUT, беспокойный должен работать без изменений. – vikramls

ответ

0

Это невозможно в расширителе Flask-Restless. Можно было бы добавить его вручную.

Я сделал feature request для этого на трекере для проблем с фляжкой-Restless, и он был определен как вне сферы действия автора.