Skip to main content

FastAPI Custom Responses

Project description

FastAPI Custom Responses

Provides normalized response objects and error handling

Example

from http import HTTPStatus
from fastapi_custom_responses import EXCEPTION_HANDLERS, Response
from fastapi import APIRouter

# Initialize FastAPI
router = APIRouter()

app = FastAPI(
    title="API",
    description="My API",
    version="1.0.0",
    lifespan=lifespan,
    exception_handlers=EXCEPTION_HANDLERS, # Use error handler from library
)

# Define data model
class Data(Response):
    example: str

# Routes
@router.get(
    "/",
    response_model=Response[Data], # Use Data model
)
async def index(_: FastAPIRequest) -> Response[Data]:
    """Index route."""

    return Response(
        success=True,
        data=Data(example="hello"),
    )

@router.get(
    "/return-error",
    response_model=Response[Data], # Use Data model
)
async def error_route(_: FastAPIRequest) -> Response:
    """Index route."""

    raise ErrorResponse(error="Your request is invalid.", status_code=HTTPStatus.BAD_REQUEST)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fastapi_custom_responses-0.0.8.tar.gz (3.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fastapi_custom_responses-0.0.8-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file fastapi_custom_responses-0.0.8.tar.gz.

File metadata

  • Download URL: fastapi_custom_responses-0.0.8.tar.gz
  • Upload date:
  • Size: 3.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fastapi_custom_responses-0.0.8.tar.gz
Algorithm Hash digest
SHA256 31b82cbff45cf9cae67e222fe21c1f685c9c332c3da98960819d04460ca97d2b
MD5 ede4252b309c14cd3f7619a3aa238737
BLAKE2b-256 a6d260be3f1817c435418af994ada91fcebb1abb7e6549fe49c3eb85e6ee9b5f

See more details on using hashes here.

Provenance

The following attestation bundles were made for fastapi_custom_responses-0.0.8.tar.gz:

Publisher: publish-to-pypi.yml on julien777z/fastapi-custom-responses

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fastapi_custom_responses-0.0.8-py3-none-any.whl.

File metadata

File hashes

Hashes for fastapi_custom_responses-0.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 1f51e956aefab357fb774b38e0dad02ce71286ec450dfd3e3a8da1ea6d6ed3c1
MD5 e7188d2eec57e60a544f0faffd937ce5
BLAKE2b-256 8f737e428b4c3e9e8cea19095b9e7f1a930851006894ad0732fc2b7d5826cf37

See more details on using hashes here.

Provenance

The following attestation bundles were made for fastapi_custom_responses-0.0.8-py3-none-any.whl:

Publisher: publish-to-pypi.yml on julien777z/fastapi-custom-responses

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page