什么是使用@requestMapping映射到整个类?

时间:2013-07-17 21:10:00

标签: spring-mvc

这是一个关于spring MVC的一个非常基本的问题我已经看到了一些例子,其中@RequestMapping位于Controller的类名之上:

@RequestMapping    
public class somethingController {
    .
    .
    .
}

我在使用RequestMapping时谈到了方法,但是我无法理解将它映射到整个类的用法。它用于什么?

提前感谢。

1 个答案:

答案 0 :(得分:0)

它允许将所有方法映射到URL,URL前缀或其他限制。然后可以通过方法上的RequestMapping注释来定义进一步的限制(如POST / GET或URL后缀等)。这些方法级限制将补充或覆盖对类型级注释的限制。

the javadoc中指定了可在类或方法或两个级别使用的属性及其行为方式。

例如:

@RequestMapping(value = "/foo", produces = "test/html")
public class SomeController {

    @RequestMapping(method = RequestMethod.GET)
    public String method1() {
        ...
    }

    @RequestMapping(method = RequestMethod.POST)
    public String method1() {
        ...
    }
}

在此示例中,两个方法都映射到/ foo并生成HTML,但第一个方法在HTTP方法为GET时调用,而第二个方法在HTTP方法为POST时调用。