@ Override public ActionInputParameter getActionInputParameter ( String name ) { ActionInputParameter ret = requestParams . get ( name ) ; if ( ret == null ) { ret = pathVariables . get ( name ) ; } if ( ret == null ) { for ( ActionInputParameter annotatedParameter : getInputParameters ( ) ) { // TODO create ActionInputParameter for bean property at property path // TODO field access in addition to bean? PropertyDescriptor pd = getPropertyDescriptorForPropertyPath ( name , annotatedParameter . getParameterType ( ) ) ; if ( pd != null ) { if ( pd . getWriteMethod ( ) != null ) { Object callValue = annotatedParameter . getValue ( ) ; Object propertyValue = null ; if ( callValue != null ) { BeanWrapper beanWrapper = PropertyAccessorFactory . forBeanPropertyAccess ( callValue ) ; propertyValue = beanWrapper . getPropertyValue ( name ) ; } ret = new SpringActionInputParameter ( new MethodParameter ( pd . getWriteMethod ( ) , 0 ) , propertyValue ) ; } break ; } } } return ret ; }
Gets input parameter info which is part of the URL mapping be it request parameters path variables or request body attributes .