SpringMVC:RequestMapping,GetMapping,PostMapping ...是否具有公共的超类?

时间:2020-08-06 09:14:06

标签: java spring spring-mvc

    public static void printPaths(RequestMapping mapping) {
        System.out.println(String.join(",",mapping.path()));
    }

以下代码无法正常工作。有趣的是,堆栈溢出的受访者在提出疑问之前不会仔细阅读该问题。

        final GetMapping getMapping = method.getAnnotation(GetMapping.class);
        printPaths(getMapping);

当我像这样使用它时,是否存在类型X:

    public static void printPaths(X mapping) {
        System.out.println(String.join(",",mapping.path()));
    }

以下代码可以正常工作吗?

        //WhateverMapping means it could be RequestMapping, or GetMapping, or PostMapping, or .....
        final WhateverMapping whateverMapping = method.getAnnotation(WhateverMapping.class);
        printPaths(whaterverMappingMapping);

非常感谢。

1 个答案:

答案 0 :(得分:0)

这是不可能的,因为@GetMapping是一个组合注释,没有超类。一种解决方法是仅使用@RequestMapping,因为@GetMapping只是@RequestMapping(method = GET)的快捷方式。

get