]> git.ipfire.org Git - thirdparty/fastapi/fastapi.git/commitdiff
:bug: Fix error location for required parameters
authorSebastián Ramírez <tiangolo@gmail.com>
Fri, 14 Dec 2018 10:27:29 +0000 (14:27 +0400)
committerSebastián Ramírez <tiangolo@gmail.com>
Fri, 14 Dec 2018 10:27:29 +0000 (14:27 +0400)
fastapi/dependencies/utils.py

index 969acd3e63e50d61d4857ec28a43e2e8abaa364a..d757f6b1feefe903e9235d4ed7f405d96ba2640f 100644 (file)
@@ -249,16 +249,16 @@ def request_params_to_args(
     errors = []
     for field in required_params:
         value = received_params.get(field.alias)
+        schema: params.Param = field.schema
+        assert isinstance(schema, params.Param), "Params must be subclasses of Param"
         if value is None:
             if field.required:
                 errors.append(
-                    ErrorWrapper(MissingError(), loc=field.alias, config=BaseConfig)
+                    ErrorWrapper(MissingError(), loc=(schema.in_.value, field.alias), config=BaseConfig)
                 )
             else:
                 values[field.name] = deepcopy(field.default)
             continue
-        schema: params.Param = field.schema
-        assert isinstance(schema, params.Param), "Params must be subclasses of Param"
         v_, errors_ = field.validate(value, values, loc=(schema.in_.value, field.alias))
         if isinstance(errors_, ErrorWrapper):
             errors.append(errors_)