29
29
Server ,
30
30
Tag ,
31
31
)
32
+ from .typing import PydanticDumpOptions
32
33
from .validation import (
33
34
DataSource ,
34
35
QUART_SCHEMA_HEADERS_ATTRIBUTE ,
@@ -217,6 +218,7 @@ def __init__(
217
218
security : Optional [List [Dict [str , List [str ]]]] = None ,
218
219
external_docs : Optional [Union [ExternalDocumentation , dict ]] = None ,
219
220
conversion_preference : Literal ["msgspec" , "pydantic" , None ] = None ,
221
+ pydantic_dump_options : Optional [PydanticDumpOptions ] = None ,
220
222
) -> None :
221
223
self .openapi_path = openapi_path
222
224
self .redoc_ui_path = redoc_ui_path
@@ -225,6 +227,7 @@ def __init__(
225
227
226
228
self .convert_casing = convert_casing
227
229
self .conversion_preference = conversion_preference
230
+ self .pydantic_dump_options = {} if pydantic_dump_options is None else pydantic_dump_options
228
231
229
232
self .info : Optional [Info ] = None
230
233
if info is not None :
@@ -299,7 +302,7 @@ def init_app(self, app: Quart) -> None:
299
302
"QUART_SCHEMA_SCALAR_JS_URL" ,
300
303
"https://cdn.jsdelivr.net/npm/@scalar/api-reference" ,
301
304
)
302
- app .config .setdefault ("QUART_SCHEMA_PYDANTIC_DUMP_OPTIONS" , {} )
305
+ app .config .setdefault ("QUART_SCHEMA_PYDANTIC_DUMP_OPTIONS" , self . pydantic_dump_options )
303
306
app .config .setdefault ("QUART_SCHEMA_CONVERT_CASING" , self .convert_casing )
304
307
app .config .setdefault ("QUART_SCHEMA_CONVERSION_PREFERENCE" , self .conversion_preference )
305
308
app .json = create_json_provider (app )
0 commit comments