Метод head
Метод head применяется к приложению
FastAPI и вешает функцию на HEAD-запрос.
Первым параметром передаётся путь URL.
HEAD-запрос похож на GET, но сервер возвращает
только заголовки ответа без тела.
Это удобно для проверки существования ресурса
и получения метаданных без загрузки содержимого.
Синтаксис
@app.head(path)
Пример
Давайте повесим обработчик на адрес '/':
from fastapi import FastAPI
app = FastAPI()
@app.head('/')
def index():
return {'text': 'hello'}
При HEAD-запросе на адрес / сервер вернёт
только заголовки, а тело ответа будет пустым:
""
Пример
Давайте установим кастомный заголовок X-Resource
для проверки существования ресурса:
from fastapi import FastAPI, Response
app = FastAPI()
@app.head('/user/{name}')
def user(name: str, response: Response):
response.headers['X-Resource'] = name
return None
При HEAD-запросе на адрес /user/abcde
в заголовках ответа будет X-Resource: abcde,
а тело останется пустым:
""
Пример
Давайте проверим HEAD-запрос через терминал
с помощью утилиты curl:
curl -I http://127.0.0.1:8000/
Результат выполнения команды:
HTTP/1.1 200 OK
date: Mon, 01 Jan 2024 00:00:00 GMT
server: uvicorn
content-type: application/json