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 = []
Parameter( for field_name, field in fields.items():
name=field_name, default_value = (
kind=Parameter.KEYWORD_ONLY, Parameter.empty if field.required else field.default
default=Parameter.empty, )
annotation=field.outer_type_, parameters.append(
Parameter(
name=field_name,
kind=Parameter.KEYWORD_ONLY,
default=default_value,
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"