这是关于 spring MVC 的一个非常基本的问题,我已经看到了一些示例,其中 @RequestMapping 位于 Controller 的类名之上:
@RequestMapping
public class somethingController {
.
.
.
}
当涉及到方法时,我了解 RequestMapping 的使用,但我无法理解将其映射到整个类的使用。这有什么用途?
提前致谢。
这是关于 spring MVC 的一个非常基本的问题,我已经看到了一些示例,其中 @RequestMapping 位于 Controller 的类名之上:
@RequestMapping
public class somethingController {
.
.
.
}
当涉及到方法时,我了解 RequestMapping 的使用,但我无法理解将其映射到整个类的使用。这有什么用途?
提前致谢。
它允许将所有方法映射到 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 时调用第二个方法。