Статус HTTP_201_CREATED
Статус HTTP_201_CREATED применяется в качестве значения
параметра status_code декораторов маршрутов FastAPI,
а также может возвращаться напрямую через объект Response
или исключение HTTPException. Он означает, что сервер
успешно создал новый ресурс. По умолчанию FastAPI возвращает
статус 200 для успешных запросов, поэтому для операций создания
статус 201 следует указывать явно.
Синтаксис
from fastapi import status
status.HTTP_201_CREATED
Пример
Давайте укажем статус 201 для маршрута создания пользователя:
from fastapi import FastAPI, status
app = FastAPI()
@app.post('/users', status_code=status.HTTP_201_CREATED)
def create_user():
return {'name': 'abcde'}
Результат выполнения кода:
{"name": "abcde"}
Клиент получит ответ со статусом 201 Created и телом JSON.
Пример
Давайте создадим пользователя на основе модели Pydantic:
from fastapi import FastAPI, status
from pydantic import BaseModel
app = FastAPI()
class User(BaseModel):
name: str
age: int
@app.post('/users', status_code=status.HTTP_201_CREATED)
def create_user(user: User):
return {'id': 1, 'name': user.name, 'age': user.age}
Результат выполнения кода при отправке тела {"name": "abcde", "age": 25}:
{"id": 1, "name": "abcde", "age": 25}
Пример
Давайте вернём статус 201 напрямую через объект Response:
Результат выполнения кода:
{"title": "article"}
Смотрите также
-
статус
HTTP_200_OK,
который означает успешное выполнение запроса -
статус
HTTP_204_NO_CONTENT,
который означает успешный запрос без тела ответа -
статус
HTTP_409_CONFLICT,
который означает конфликт при создании ресурса -
модуль
status,
который содержит все HTTP-статусы FastAPI