1

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

@RequestMapping    
public class somethingController {
    .
    .
    .
}

当涉及到方法时,我了解 RequestMapping 的使用,但我无法理解将其映射到整个类的使用。这有什么用途?

提前致谢。

4

1 回答 1

1

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

可以在类或方法或两个级别使用的属性以及它们的行为方式在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 时调用第二个方法。

于 2013-07-17T21:15:51.087 回答