Метод put класса TestClient
Метод put применяется к экземпляру класса TestClient
и отправляет PUT-запрос к приложению FastAPI.
Первым параметром передаётся путь URL.
Вторым параметром можно передать данные тела запроса
через именованный аргумент json или data.
Метод возвращает объект Response,
у которого можно прочитать статус-код, заголовки и тело ответа.
Синтаксис
client.put(url, json=data)
Пример
Давайте создадим приложение с PUT-маршрутом и отправим к нему запрос через тестовый клиент:
from fastapi import FastAPI
from fastapi.testclient import TestClient
app = FastAPI()
@app.put('/user')
def update_user():
return {'status': 'updated'}
client = TestClient(app)
res = client.put('/user')
print(res.status_code)
print(res.json())
Результат выполнения кода:
200
{'status': 'updated'}
Пример
Давайте передадим данные тела запроса через аргумент json:
from fastapi import FastAPI
from pydantic import BaseModel
from fastapi.testclient import TestClient
app = FastAPI()
class User(BaseModel):
name: str
age: int
@app.put('/user')
def update_user(user: User):
return {'name': user.name, 'age': user.age}
client = TestClient(app)
res = client.put('/user', json={'name': 'abcde', 'age': 25})
print(res.status_code)
print(res.json())
Результат выполнения кода:
200
{'name': 'abcde', 'age': 25}
Пример
Давайте проверим ответ на запрос к несуществующему маршруту:
from fastapi import FastAPI
from fastapi.testclient import TestClient
app = FastAPI()
@app.put('/user')
def update_user():
return {'status': 'updated'}
client = TestClient(app)
res = client.put('/article')
print(res.status_code)
Результат выполнения кода:
404
Смотрите также
-
класс
TestClient,
который создаёт тестовый клиент для приложения FastAPI -
метод
get,
который отправляет GET-запрос в тестах -
метод
post,
который отправляет POST-запрос в тестах -
метод
patch,
который отправляет PATCH-запрос в тестах