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.7.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.7-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fastapi_custom_responses-0.0.7.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.7.tar.gz
Algorithm Hash digest
SHA256 a5a0f7af72e9ced0d220dd36f705a31e1be3e0711d17fb0507ebc91a974bcb54
MD5 e966f87ae479b03dae90074b0663a3ea
BLAKE2b-256 81d73b1e3b24e07f60befcf477266ba22353cac19530296778ef82576908f064

See more details on using hashes here.

Provenance

The following attestation bundles were made for fastapi_custom_responses-0.0.7.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.7-py3-none-any.whl.

File metadata

File hashes

Hashes for fastapi_custom_responses-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 5a0399166b01f2540f3142c5a979074bf74fe10c21d253978f092df808d0a329
MD5 bdadd9f8f7df380f81822647a0b285bb
BLAKE2b-256 8e092b4990b419c6ebf23d76b74251b7fc157cca412c51d9c5195a1797b1e8a5

See more details on using hashes here.

Provenance

The following attestation bundles were made for fastapi_custom_responses-0.0.7-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