РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
156 of 307 menu

Статус HTTP_409_CONFLICT

Статус HTTP_409_CONFLICT применяется для указания на то, что запрос не может быть выполнен из-за конфликта с текущим состоянием целевого ресурса. Типичный случай - попытка создать запись с уже существующим уникальным идентификатором. В FastAPI статус передаётся в параметр status_code декоратора маршрута или в объект HTTPException.

Синтаксис

from fastapi import status status.HTTP_409_CONFLICT

Пример

Давайте вернём статус HTTP_409_CONFLICT при попытке создать пользователя с уже занятым именем:

from fastapi import FastAPI, HTTPException, status app = FastAPI() users = ['abcde', 'article'] @app.post('/users/{name}') def create_user(name: str): if name in users: raise HTTPException( status_code=status.HTTP_409_CONFLICT, detail='user already exists' ) users.append(name) return {'name': name}

Результат выполнения кода для адреса /users/abcde:

{"detail": "user already exists"}

Пример

Давайте зададим статус HTTP_409_CONFLICT прямо в декораторе маршрута для операции обновления:

from fastapi import FastAPI, status app = FastAPI() @app.put('/items/{item_id}', status_code=status.HTTP_409_CONFLICT) def update_item(item_id: int): return {'item_id': item_id, 'status': 'conflict'}

Результат выполнения кода для адреса /items/1:

{"item_id": 1, "status": "conflict"}

Смотрите также

  • статус HTTP_400_BAD_REQUEST,
    который указывает на некорректный запрос
  • статус HTTP_404_NOT_FOUND,
    который указывает на отсутствие ресурса
  • статус HTTP_422_UNPROCESSABLE_ENTITY,
    который указывает на ошибку валидации данных
  • модуль status,
    который содержит все HTTP-статусы FastAPI
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить