Параметры пути по умолчанию для нескольких колб не работают, и нет отпечатка или возврата стека - PullRequest
0 голосов
/ 01 марта 2019

Я отправляю GET:

curl -X GET "http://localhost:5000/v1/datasources" -H "accept: application/json" -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE1NTE0NjY1NzYsIm5iZiI6MTU1MTQ2NjU3NiwianRpIjoiZmJjNDhlYjItNTY4MC00OTQ0LTk2NDItMjc3YzJiMjI0NTIzIiwiZXhwIjoxNTUxNDY3NDc2LCJpZGV

и получаю ошибку 500.

@flask_app.route('/<api_version>/datasources', defaults={'datasource_id': None, 'datasource_type_str': None}, methods=['GET'])
@flask_app.route('/<api_version>/datasources/<datasource_type_str>', defaults={'datasource_id': None}, methods=['POST', 'GET'])
@flask_app.route('/<api_version>/datasources/<datasource_type_str>/<int:datasource_id>', methods=['GET', 'DELETE'])
@jwt_required
def datasource(api_version, datasource_type_str, datasource_id):
    print(f'datasource', request.form, 'datasource_id',
          datasource_id, 'datasource_type_str')

Ранее я видел оператор печати, который показывал 'datasource_id: None datasource_type_str', но нет значения (даже None) для datasource_type_str.Поэтому я думаю, что ошибка может быть связана с использованием значений по умолчанию для параметров пути.Может быть, поддерживается только один?

Я включил отладчик с помощью flask_app.run (debug = True) и вижу, что отладчик включен, но все еще не печатается трассировка стека, хотя у меня есть предложение catchв моем маршруте, а также в обработчике ошибок колбы:

@flask_app.errorhandler(500)
def internal_error(error):
    print('internal_error')
    print(error)
    return repr(error)

Я также включил ошибки распространения, но все еще не получилось получить трассировку стека:

flask_app.config['PROPAGATE_EXCEPTIONS'] = True
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...