Spring mvc中@RequestMapping 6個基本用法小結

來源:互聯網
上載者:User

標籤:

1)最基本的,方法層級上應用,例如: 
   

Java代碼  

  1. @RequestMapping(value="/departments")  

  2. public String simplePattern(){  

  3.   

  4.   System.out.println("simplePattern method was called");  

  5.   return "someResult";  

  6.   

  7. }  


   則訪問http://localhost/xxxx/departments的時候,會調用 simplePattern方法了 

2) 參數綁定 
  

Java代碼  

  1. @RequestMapping(value="/departments")  

  2. public String findDepatment(  

  3.   @RequestParam("departmentId") String departmentId){  

  4.     

  5.     System.out.println("Find department with ID: " + departmentId);  

  6.     return "someResult";  

  7.   

  8. }  


   
  形如這樣的訪問形式: 

   /departments?departmentId=23就可以觸發訪問findDepatment方法了 

3 REST風格的參數 
  

Java代碼  

  1. @RequestMapping(value="/departments/{departmentId}")  

  2. public String findDepatment(@PathVariable String departmentId){  

  3.   

  4.   System.out.println("Find department with ID: " + departmentId);  

  5.   return "someResult";  

  6.   

  7. }  


  
  形如REST風格的地址訪問,比如: 
/departments/23,其中用(@PathVariable接收rest風格的參數 

4 REST風格的參數綁定形式之2 
   先看例子,這個有點象之前的: 

Java代碼  

  1. @RequestMapping(value="/departments/{departmentId}")  

  2. public String findDepatmentAlternative(  

  3.   @PathVariable("departmentId") String someDepartmentId){  

  4.   

  5.     System.out.println("Find department with ID: " + someDepartmentId);  

  6.     return "someResult";  

  7.   

  8. }  



   這個有點不同,就是接收形如/departments/23的URL訪問,把23作為傳入的departmetnId,,但是在實際的方法findDepatmentAlternative中,使用 
@PathVariable("departmentId") String someDepartmentId,將其綁定為 
someDepartmentId,所以這裡someDepartmentId為23 

5 url中同時綁定多個id 
 

Java代碼  

  1. @RequestMapping(value="/departments/{departmentId}/employees/{employeeId}")  

  2. public String findEmployee(  

  3.   @PathVariable String departmentId,  

  4.   @PathVariable String employeeId){  

  5.   

  6.     System.out.println("Find employee with ID: " + employeeId +   

  7.       " from department: " + departmentId);  

  8.     return "someResult";  

  9.   

  10. }  



   這個其實也比較好理解了。 

6 支援Regex 
  

Java代碼  

  1. @RequestMapping(value="/{textualPart:[a-z-]+}.{numericPart:[\\d]+}")  

  2. public String regularExpression(  

  3.   @PathVariable String textualPart,  

  4.   @PathVariable String numericPart){  

  5.   

  6.     System.out.println("Textual part: " + textualPart +   

  7.       ", numeric part: " + numericPart);  

  8.     return "someResult";  

  9. }  



   比如如下的URL:/sometext.123,則輸出: 
Textual part: sometext, numeric part: 123. 


Spring mvc中@RequestMapping 6個基本用法小結

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.