2013-07-17 41 views
0

這是我見過的幾個例子,其中@RequestMapping坐在一個控制器的類名以上關於Spring MVC中一個非常基本的問題:將@requestMapping映射到整個類的用法是什麼?

@RequestMapping  
public class somethingController { 
    . 
    . 
    . 
} 

我understan使用RequestMapping的,當涉及到的方法,但我無法理解將其映射到整個班級的用法。它是幹什麼用的?

在此先感謝。

回答

0

它允許將所有方法映射到URL或URL前綴或其他限制。其他限制(如POST/GET或URL後綴等)可以通過方法上的RequestMapping註釋來定義。這些方法級別的限制將補充或覆蓋放置在類型級別註釋上的限制。

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。

+0

這對我來說很明顯,但在這個主題之後,訪問具有自己價值的方法的地址是什麼。例如在RequestMapping @RequestMapping(value =「new」,method = RequestMethod.GET)處添加一個值給method1 感謝預覽答案 – Ccortina

+0

如果使用'RequestMapping(value =「/ new」)註釋method1 ',該方法的URL將是'/ foo/new'。這在http://static.springsource.org/spring/docs/3.2.x/spring-framework-reference/htmlsingle/#mvc-ann-requestmapping中描述 –

相關問題