Я отправляю 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