Package org.springbyexample.mvc.bind.annotation

Examples of org.springbyexample.mvc.bind.annotation.RestRequestResource


            for (Method interfaceMethod : methods) {
                Method method = BridgeMethodResolver.findBridgedMethod(interfaceMethod);
                Class<?> responseClazz = method.getReturnType();

                RequestMapping requestMapping = AnnotationUtils.findAnnotation(method, RequestMapping.class);
                RestRequestResource restRequestResource = AnnotationUtils.findAnnotation(method, RestRequestResource.class);
                boolean export = (restRequestResource != null ? restRequestResource.export() : true);

                // if the method declaring class is in the parent, get the return type from the service or converter (because of erasure)
                if (!marshallingServiceClass.equals(method.getDeclaringClass())) {
                    String restRequestResourceMethodName = (restRequestResource != null ? restRequestResource.methodName() : null);
                    String methodName = (StringUtils.hasText(restRequestResourceMethodName) ? restRequestResourceMethodName : method.getName());
                    Class<?>[] paramTypes = method.getParameterTypes();

                    try {
                        Method serviceMethod = ReflectionUtils.findMethod(serviceClass, methodName, paramTypes);
                        responseClazz = serviceMethod.getReturnType();
                    } catch(IllegalStateException e) {
                    }
                }

                if (export) {
                    boolean relative = (restRequestResource != null ? restRequestResource.relative() : true);

                    // just get first param if more than one
                    StringBuilder uri = new StringBuilder();

                    if (relative) {
View Full Code Here


        ApplicationContext ctx = getApplicationContext();

        RestResource restResource = AnnotationUtils.findAnnotation(marshallingServiceClass, RestResource.class);
        Class<?> serviceClass = restResource.service();

        RestRequestResource restRequestResource = AnnotationUtils.findAnnotation(method, RestRequestResource.class);
        boolean export = (restRequestResource != null ? restRequestResource.export() : true);
        boolean relative = (restRequestResource != null ? restRequestResource.relative() : true);

        if (export) {
            Class<?> handlerServiceClass = serviceClass;
            String methodName = method.getName();
            Class<?>[] paramTypes = method.getParameterTypes();

            if (restRequestResource != null) {
                // explicit service specified
                if (restRequestResource.service() != ServiceValueConstants.DEFAULT_SERVICE_CLASS) {
                    handlerServiceClass = restRequestResource.service();
                }

                // explicit method name specified
                if (StringUtils.hasText(restRequestResource.methodName())) {
                    methodName = restRequestResource.methodName();
                }
            }

            Object handler = ctx.getBean(handlerServiceClass);
            Method serviceMethod = ClassUtils.getMethod(handlerServiceClass, methodName, paramTypes);
View Full Code Here

TOP

Related Classes of org.springbyexample.mvc.bind.annotation.RestRequestResource

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.