Можно ли выполнить некоторую общую предварительную обработку на маршрутах, когда они совместно используют один и тот же параметр?
У меня есть следующие два маршрута:
@app.route("/<string:filetype>/<int:number>/something", methods=['GET'])
def handle_get_file(filetype, number):
if filetype == "bad":
return status.HTTP_400_BAD_REQUEST
...some logic that has to do with "something"
@app.route("/<string:filetype>/someotherthing", methods=['GET'])
def handle_some_other_file(filetype):
if filetype == "bad":
return status.HTTP_400_BAD_REQUEST
...some logic that has to do with "some other thing"
, которые используют один и тот же код, который проверяет тип файла.
Вместо того, чтобы вручную вызывать проверку типа файла, я хотел бы использовать какой-то автоматический шаблон, который сначала выполнит общую часть пути, а затем перейдет к большим маршрутам «что-то» или «что-то другое» далее..
Например,
# this will match first
@app.route("/<string:filetype>/<path:somepath>")
def preprocessing(filetype):
if filetype == "bad":
return status.HTTP_400_BAD_REQUEST
else:
# process the rest of the route further
Возможно ли реализовать решение для пути, содержащего параметр, но также отделенного от некоторых других элементов?Например: для вышеупомянутой предварительной обработки для запуска на <int:someothernumber>/<string:filetype>/<path:somepath>"
.