Отсюда вопросы:
1. Можно ли вообще посылать GET-запросы с телом или только без тела?
2. Если п.1. “да, можно”, то имеется ли в тестовом клиенте Flask.test_client() возможность послать такой запрос?
При моих экспериментах в мою view-function приходят пустые данные:
Принимаю так:
from flask import request def credentials_required(f): @wraps(f) def wrapper(*args, **kwargs): data = json.loads(request.data) user = User.query.filter_by(username=data['username']).first() if not (user and user.verify_password(data['password'])): abort(401) return f(*args, **kwargs) return wrapper @auth.route('/users/token') @credentials_required def getnerate_token(): print(request.data)
Посылаю в теством клиенте так:
def setUp(self): self.app = create_app(config_name='testing') self.app_ctx = self.app.app_context() self.app_ctx.push() self.client = self.app.test_client() def test_token(self): self.client.get(url_for('auth.generate_token'), data={'username' : 'user1', 'password' : 'pass'})