Метод post класса FlaskClient
Метод post применяется к объекту FlaskClient,
который создаётся через app.test_client.
Первым параметром передаётся путь URL, вторым - данные формы
или JSON. Метод возвращает объект TestResponse,
из которого можно получить статус, тело и заголовки ответа.
Синтаксис
client.post(path, data=None, json=None, headers=None)
Пример
Давайте отправим POST-запрос с данными формы
на адрес '/submit':
from flask import Flask, request
app = Flask(__name__)
@app.route('/submit', methods=['POST'])
def submit():
return request.form['name']
client = app.test_client()
res = client.post('/submit', data={'name': 'abcde'})
print(res.status_code)
print(res.get_data(as_text=True))
Результат выполнения кода:
200
"abcde"
Пример
Давайте отправим POST-запрос с JSON-телом
на адрес '/api' и прочитаем ответ через метод
get_json:
from flask import Flask, request
app = Flask(__name__)
@app.route('/api', methods=['POST'])
def api():
return {'res': request.json['value']}
client = app.test_client()
res = client.post('/api', json={'value': 'hello'})
print(res.status_code)
print(res.get_json())
Результат выполнения кода:
200
{'res': 'hello'}
Смотрите также
-
класс
FlaskClient,
который создаёт тестовый клиент приложения -
метод
get,
который отправляет GET-запрос к приложению -
метод
put,
который отправляет PUT-запрос к приложению -
метод
delete,
который отправляет DELETE-запрос к приложению