spring-hateoas-ext/src/main/java/de/escalon/hypermedia/spring/SpringActionDescriptor.java
@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;
    }
@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.

@param name
to retrieve
@return parameter descriptor or null