Карта URL Werkzeug с конечными точками на основе методов возвращает только метод, не разрешенный
Вот усеченная версия нашего отображения:
url_map = Map([
Rule('/actions/<int:id>/', endpoint='actions.get_action', methods=('GET')),
Rule('/actions/<int:id>/', endpoint='actions.put_action', methods=('PUT')),
Rule('/actions/<int:id>/', endpoint='actions.dismiss_action', methods=('DELETE'))
])
После долгих поисков я нашел несколько примеров того, как люди делают то же самое на ( http://nullege.com/codes/search/werkzeug.routing.Rule)... но когда я делаю это, все ТРИ возвращаются как метод, не разрешенный. Я мог бы потенциально сделать
... methods=('GET', 'PUT', 'DELETE') ...
и иметь конечную точку, которая отправляет запрос на альтернативные функции, но из того, что я прочитал, мое отображение должно просто работать или, по крайней мере, МОЖЕТ работать, если я был знаком с правильным синтаксисом (который я не нашел за пределами по ссылке выше.)
Есть идеи, что я делаю не так?
1 ответ
В вашем списке правил, параметрах методов, разве они не должны быть списками? Что-то вроде
... methods=('GET',) ...
Обратите внимание на запятую, которая делает его кортежем.