17 lines
587 B
Python
17 lines
587 B
Python
|
|
"""Hilfen für direkte Python-Aufrufe von FastAPI-Route-Handlern (ohne Request-Kontext)."""
|
||
|
|
from __future__ import annotations
|
||
|
|
|
||
|
|
from typing import Any
|
||
|
|
|
||
|
|
|
||
|
|
def unwrap_query_default(value: Any) -> Any:
|
||
|
|
"""
|
||
|
|
Parameter mit Annotation ``= Query(default=…)`` sind im Funktionskörper ``fastapi.params.Query``-Instanzen,
|
||
|
|
solange FastAPI sie nicht durch echte Werte ersetzt hat (interne Aufrufe, Aggregat-Endpunkte).
|
||
|
|
"""
|
||
|
|
try:
|
||
|
|
from fastapi.params import Query
|
||
|
|
except ImportError:
|
||
|
|
return value
|
||
|
|
return value.default if isinstance(value, Query) else value
|