mirror of
https://git.mirrors.martin98.com/https://github.com/langgenius/dify.git
synced 2025-08-15 11:25:55 +08:00
Add default values for optional parameters in API tool and parser (#2491)
This commit is contained in:
parent
20b932da97
commit
25957d917a
@ -127,6 +127,8 @@ class ApiTool(Tool):
|
|||||||
value = parameters[parameter['name']]
|
value = parameters[parameter['name']]
|
||||||
elif parameter['required']:
|
elif parameter['required']:
|
||||||
raise ToolProviderCredentialValidationError(f"Missing required parameter {parameter['name']}")
|
raise ToolProviderCredentialValidationError(f"Missing required parameter {parameter['name']}")
|
||||||
|
else:
|
||||||
|
value = (parameter.get('schema', {}) or {}).get('default', '')
|
||||||
path_params[parameter['name']] = value
|
path_params[parameter['name']] = value
|
||||||
|
|
||||||
elif parameter['in'] == 'query':
|
elif parameter['in'] == 'query':
|
||||||
@ -135,6 +137,8 @@ class ApiTool(Tool):
|
|||||||
value = parameters[parameter['name']]
|
value = parameters[parameter['name']]
|
||||||
elif parameter['required']:
|
elif parameter['required']:
|
||||||
raise ToolProviderCredentialValidationError(f"Missing required parameter {parameter['name']}")
|
raise ToolProviderCredentialValidationError(f"Missing required parameter {parameter['name']}")
|
||||||
|
else:
|
||||||
|
value = (parameter.get('schema', {}) or {}).get('default', '')
|
||||||
params[parameter['name']] = value
|
params[parameter['name']] = value
|
||||||
|
|
||||||
elif parameter['in'] == 'cookie':
|
elif parameter['in'] == 'cookie':
|
||||||
@ -143,6 +147,8 @@ class ApiTool(Tool):
|
|||||||
value = parameters[parameter['name']]
|
value = parameters[parameter['name']]
|
||||||
elif parameter['required']:
|
elif parameter['required']:
|
||||||
raise ToolProviderCredentialValidationError(f"Missing required parameter {parameter['name']}")
|
raise ToolProviderCredentialValidationError(f"Missing required parameter {parameter['name']}")
|
||||||
|
else:
|
||||||
|
value = (parameter.get('schema', {}) or {}).get('default', '')
|
||||||
cookies[parameter['name']] = value
|
cookies[parameter['name']] = value
|
||||||
|
|
||||||
elif parameter['in'] == 'header':
|
elif parameter['in'] == 'header':
|
||||||
@ -151,6 +157,8 @@ class ApiTool(Tool):
|
|||||||
value = parameters[parameter['name']]
|
value = parameters[parameter['name']]
|
||||||
elif parameter['required']:
|
elif parameter['required']:
|
||||||
raise ToolProviderCredentialValidationError(f"Missing required parameter {parameter['name']}")
|
raise ToolProviderCredentialValidationError(f"Missing required parameter {parameter['name']}")
|
||||||
|
else:
|
||||||
|
value = (parameter.get('schema', {}) or {}).get('default', '')
|
||||||
headers[parameter['name']] = value
|
headers[parameter['name']] = value
|
||||||
|
|
||||||
# check if there is a request body and handle it
|
# check if there is a request body and handle it
|
||||||
|
@ -60,7 +60,7 @@ class ApiBasedToolSchemaParser:
|
|||||||
required=parameter.get('required', False),
|
required=parameter.get('required', False),
|
||||||
form=ToolParameter.ToolParameterForm.LLM,
|
form=ToolParameter.ToolParameterForm.LLM,
|
||||||
llm_description=parameter.get('description'),
|
llm_description=parameter.get('description'),
|
||||||
default=parameter['default'] if 'default' in parameter else None,
|
default=parameter['schema']['default'] if 'schema' in parameter and 'default' in parameter['schema'] else None,
|
||||||
))
|
))
|
||||||
# create tool bundle
|
# create tool bundle
|
||||||
# check if there is a request body
|
# check if there is a request body
|
||||||
|
Loading…
x
Reference in New Issue
Block a user