Browse Source

Fixed: The use of default parameters in API interfaces (#14138)

feiyang_deepnova 2 months ago
parent
commit
c4f4dfc3fb
1 changed files with 4 additions and 4 deletions
  1. 4 4
      api/core/tools/custom_tool/tool.py

+ 4 - 4
api/core/tools/custom_tool/tool.py

@@ -105,10 +105,10 @@ class ApiTool(Tool):
         needed_parameters = [parameter for parameter in (self.api_bundle.parameters or []) if parameter.required]
         needed_parameters = [parameter for parameter in (self.api_bundle.parameters or []) if parameter.required]
         for parameter in needed_parameters:
         for parameter in needed_parameters:
             if parameter.required and parameter.name not in parameters:
             if parameter.required and parameter.name not in parameters:
-                raise ToolParameterValidationError(f"Missing required parameter {parameter.name}")
+                if parameter.default is not None:
-
+                    parameters[parameter.name] = parameter.default
-            if parameter.default is not None and parameter.name not in parameters:
+                else:
-                parameters[parameter.name] = parameter.default
+                    raise ToolParameterValidationError(f"Missing required parameter {parameter.name}")
 
 
         return headers
         return headers