Модуль status
Модуль status импортируется из библиотеки fastapi
и предоставляет именованные константы для HTTP-статусов.
Эти константы передаются в параметр status_code декораторов
маршрутов, чтобы указать клиенту результат обработки запроса.
Каждая константа имеет числовое значение и текстовое описание.
Синтаксис
from fastapi import status
status.HTTP_200_OK
status.HTTP_404_NOT_FOUND
Пример
Давайте вернём статус 200 для успешного запроса:
from fastapi import FastAPI, status
app = FastAPI()
@app.get('/', status_code=status.HTTP_200_OK)
def index():
return {'text': 'hello'}
Результат выполнения кода:
{"text": "hello"}
Пример
Давайте вернём статус 201 при создании ресурса:
from fastapi import FastAPI, status
app = FastAPI()
@app.post('/user', status_code=status.HTTP_201_CREATED)
def create_user():
return {'name': 'abcde'}
Результат выполнения кода:
{"name": "abcde"}
Пример
Давайте вернём статус 404, если ресурс не найден:
from fastapi import FastAPI, HTTPException, status
app = FastAPI()
@app.get('/user/{name}')
def user(name: str):
if name != 'abcde':
raise HTTPException(
status_code=status.HTTP_404_NOT_FOUND,
detail='User not found'
)
return {'name': name}
Результат выполнения кода для адреса /user/abcde:
{"name": "abcde"}
Результат выполнения кода для адреса /user/xyz:
{"detail": "User not found"}
Пример
Давайте вернём статус 204 без тела ответа при удалении:
from fastapi import FastAPI, status
app = FastAPI()
@app.delete('/user/{name}', status_code=status.HTTP_204_NO_CONTENT)
def delete_user(name: str):
return None
Результат выполнения кода для адреса /user/abcde:
""
Смотрите также
-
константа
HTTP_200_OK,
которая обозначает успешный запрос -
константа
HTTP_201_CREATED,
которая обозначает создание ресурса -
константа
HTTP_404_NOT_FOUND,
которая обозначает отсутствие ресурса -
раздел
module,
который содержит все константы статусов