fix(core): Fix HTTP Trigger parse parameter bug (#1225)

This commit is contained in:
Fangyin Cheng 2024-03-01 10:56:03 +08:00 committed by GitHub
parent 58b095d3a4
commit 0e61c55e12
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -541,15 +541,19 @@ class HttpTrigger(Trigger):
req_body_cls, BaseModel req_body_cls, BaseModel
): ):
fields = req_body_cls.__fields__ # type: ignore fields = req_body_cls.__fields__ # type: ignore
parameters = [ parameters = []
for field_name, field in fields.items():
default_value = (
Parameter.empty if field.required else field.default
)
parameters.append(
Parameter( Parameter(
name=field_name, name=field_name,
kind=Parameter.KEYWORD_ONLY, kind=Parameter.KEYWORD_ONLY,
default=Parameter.empty, default=default_value,
annotation=field.outer_type_, annotation=field.outer_type_,
) )
for field_name, field in fields.items() )
]
elif req_body_cls == Dict[str, Any] or req_body_cls == dict: elif req_body_cls == Dict[str, Any] or req_body_cls == dict:
raise AWELHttpError( raise AWELHttpError(
f"Query methods {self._methods} not support dict type" f"Query methods {self._methods} not support dict type"