РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
276 of 307 menu

Метод post класса TestClient

Метод post применяется к экземпляру класса TestClient и отправляет POST-запрос на указанный путь. Первым параметром передаётся путь URL. Вторым - необязательные данные: json, data, content, files, headers, cookies и другие. Метод возвращает объект Response с результатом ответа.

Синтаксис

client.post(url, json=None, data=None, content=None, files=None, headers=None, cookies=None)

Пример

Давайте создадим приложение с POST-маршрутом и отправим на него запрос:

from fastapi import FastAPI app = FastAPI() @app.post('/user') def create_user(): return {'text': 'created'}

Теперь напишем тест с использованием TestClient:

<+python+> from fastapi.testclient import TestClient from main import app client = TestClient(app) res = client.post('/user') print(res.status_code) print(res.json()) <-python+>

Результат выполнения кода:

<+python+> 200 {'text': 'created'} <-python+>

Пример

Давайте передадим JSON-данные в теле POST-запроса:

<+python+> from fastapi import FastAPI from pydantic import BaseModel app = FastAPI() class User(BaseModel): name: str @app.post('/user') def create_user(user: User): return {'name': user.name} <-python+>

Отправим данные через параметр json:

<+python+> from fastapi.testclient import TestClient from main import app client = TestClient(app) res = client.post('/user', json={'name': 'abcde'}) print(res.status_code) print(res.json()) <-python+>

Результат выполнения кода:

<+python+> 200 {'name': 'abcde'} <-python+>

Пример

Давайте передадим данные формы через параметр data:

<+python+> from fastapi import FastAPI, Form app = FastAPI() @app.post('/login') def login(user: str = Form()): return {'user': user} <-python+>

Отправим форму:

<+python+> from fastapi.testclient import TestClient from main import app client = TestClient(app) res = client.post('/login', data={'user': 'user'}) print(res.status_code) print(res.json()) <-python+>

Результат выполнения кода:

<+python+> 200 {'user': 'user'} <-python+>

Смотрите также

  • класс TestClient,
    который используется для тестирования приложений FastAPI
  • метод get,
    который выполняет GET-запрос в тестах
  • метод put,
    который выполняет PUT-запрос в тестах
  • метод delete,
    который выполняет DELETE-запрос в тестах
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить