- 
                Notifications
    
You must be signed in to change notification settings  - Fork 2k
 
Closed
Labels
Milestone
Description
Incorrect Usage of ClassUtils.isAssignable: incorrect reversing the Parameters Causes the Method to Always Return true When an Object is Passed
You can refer to issue #3355 and the pr #3479
The bug code is as follows:
String parameterName = method.getParameters()[i].getName();
			Type parameterType = method.getGenericParameterTypes()[i];
			if (parameterType instanceof Class<?> parameterClass
					&&  **ClassUtils.isAssignable(parameterClass, ToolContext.class**) ) {
				// A ToolContext method parameter is not included in the JSON Schema
				// generation.
				// It's a special type used by Spring AI to pass contextual data to tools
				// outside the model interaction flow.
				continue;
			}
Code Location:org.springframework.ai.util.json.schema.JsonSchemaGenerator.generateForMethodInput(Method method, SchemaOption... schemaOptions)
sunyuhan1998