Browse Source

working correctly

pull/9255/head
JONEMI19 3 years ago
parent
commit
6361e9d832
  1. 14
      fastapi/dependencies/utils.py

14
fastapi/dependencies/utils.py

@ -1,5 +1,6 @@
import dataclasses import dataclasses
import inspect import inspect
from collections import defaultdict
from contextlib import contextmanager from contextlib import contextmanager
from copy import copy, deepcopy from copy import copy, deepcopy
from typing import ( from typing import (
@ -714,6 +715,19 @@ def request_params_to_args(
received_params, (QueryParams, Headers) received_params, (QueryParams, Headers)
): ):
value = received_params.getlist(field.alias) or field.default value = received_params.getlist(field.alias) or field.default
if is_scalar_mapping_field(field) and isinstance(
received_params, (QueryParams, Headers)
):
value = dict(received_params.multi_items()) or field.default
elif is_scalar_sequence_mapping_field(field) and isinstance(
received_params, (QueryParams, Headers)
):
if not len(received_params.multi_items()):
value = field.default
else:
value = defaultdict(list)
for k, v in received_params.multi_items():
value[k].append(v)
else: else:
value = received_params.get(field.alias) value = received_params.get(field.alias)
field_info = field.field_info field_info = field.field_info

Loading…
Cancel
Save