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

Статус HTTP_500_INTERNAL_SERVER_ERROR

Статус HTTP_500_INTERNAL_SERVER_ERROR - это константа из модуля fastapi.status, равная числу 500. Она обозначает, что сервер столкнулся с непредвиденной ситуацией и не смог выполнить запрос. В FastAPI этот статус можно вернуть явно через параметр status_code в декораторе маршрута, а также через объект JSONResponse или HTTPException. Кроме того, FastAPI автоматически отдаёт 500, если в обработчике возникло необработанное исключение.

Синтаксис

from fastapi import status status.HTTP_500_INTERNAL_SERVER_ERROR

Пример

Давайте вернём статус 500 через параметр status_code в декораторе:

from fastapi import FastAPI, status app = FastAPI() @app.get('/error', status_code=status.HTTP_500_INTERNAL_SERVER_ERROR) def error(): return {'detail': 'internal server error'}

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

{"detail": "internal server error"}

Пример

Давайте выбросим исключение с этим статусом через HTTPException:

from fastapi import FastAPI, HTTPException, status app = FastAPI() @app.get('/items/{item_id}') def get_item(item_id: int): if item_id == 0: raise HTTPException( status_code=status.HTTP_500_INTERNAL_SERVER_ERROR, detail='item id cannot be zero' ) return {'item_id': item_id}

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

{"detail": "item id cannot be zero"}

Пример

Давайте вернём статус 500 через объект JSONResponse:

from fastapi import FastAPI, status from fastapi.responses import JSONResponse app = FastAPI() @app.get('/fail') def fail(): return JSONResponse( status_code=status.HTTP_500_INTERNAL_SERVER_ERROR, content={'message': 'something went wrong'} )

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

{"message": "something went wrong"}

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

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