Метод head
Метод head применяется к экземпляру класса TestClient
для выполнения HEAD-запроса к приложению FastAPI.
Первым параметром передаётся путь URL.
Дополнительно можно передать параметры запроса, заголовки и другие
аргументы, аналогичные методу get.
Метод возвращает объект Response, содержащий статус-код,
заголовки и тело ответа (которое для HEAD-запроса обычно пустое).
Синтаксис
client.head(url, **kwargs)
Пример
Давайте создадим простое приложение FastAPI с обработчиком HEAD-запроса и проверим его с помощью TestClient:
from fastapi import FastAPI, Response
from fastapi.testclient import TestClient
app = FastAPI()
@app.head('/')
def index():
return Response(headers={'X-Custom': 'abcde'})
client = TestClient(app)
def test_head():
res = client.head('/')
assert res.status_code == 200
assert res.headers['x-custom'] == 'abcde'
Результат выполнения теста:
"Test passed"
Пример
Давайте отправим HEAD-запрос с параметрами и проверим заголовки ответа:
from fastapi import FastAPI, Response, Request
from fastapi.testclient import TestClient
app = FastAPI()
@app.head('/user')
def user(request: Request):
name = request.query_params.get('name', 'user')
return Response(headers={'X-Name': name})
client = TestClient(app)
def test_head_user():
res = client.head('/user', params={'name': 'abcde'})
assert res.status_code == 200
assert res.headers['x-name'] == 'abcde'
Результат выполнения теста:
"Test passed"
Смотрите также
-
класс
TestClient,
который используется для тестирования приложений FastAPI -
метод
get,
который выполняет GET-запрос к приложению -
метод
post,
который выполняет POST-запрос к приложению -
метод
request,
который выполняет произвольный HTTP-запрос