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