zoukankan      html  css  js  c++  java
  • spingMvc 中@RequestMapping 注解总结

    1)最基本的,方法级别上应用,例如: 
        

     

    @RequestMapping(value="/departments")  

    public String simplePattern(){  

      

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

      return "someResult";  

      

    }  

    @RequestMapping(value="/departments")
    public String simplePattern(){
    
      System.out.println("simplePattern method was called");
      return "someResult";
    
    }
    
    


       则访问http://localhost/xxxx/departments的时候,会调用 simplePattern方法了 

    2) 参数绑定 
       

     

    @RequestMapping(value="/departments")  

    public String findDepatment(  

      @RequestParam("departmentId") String departmentId){  

        

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

        return "someResult";  

      

    }  

    @RequestMapping(value="/departments")
    public String findDepatment(
      @RequestParam("departmentId") String departmentId){
      
        System.out.println("Find department with ID: " + departmentId);
        return "someResult";
    
    }
    
    


        
      形如这样的访问形式: 

       /departments?departmentId=23就可以触发访问findDepatment方法了 

    3 REST风格的参数
       

     

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

    public String findDepatment(@PathVariable String departmentId){  

      

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

      return "someResult";  

      

    }  

    @RequestMapping(value="/departments/{departmentId}")
    public String findDepatment(@PathVariable String departmentId){
    
      System.out.println("Find department with ID: " + departmentId);
      return "someResult";
    
    }
    
    


       
      形如REST风格的地址访问,比如: 
    /departments/23,其中用(@PathVariable接收rest风格的参数 

    4 REST风格的参数绑定形式之2 
       先看例子,这个有点象之前的: 

     

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

    public String findDepatmentAlternative(  

      @PathVariable("departmentId") String someDepartmentId){  

      

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

        return "someResult";  

      

    }  

    @RequestMapping(value="/departments/{departmentId}")
    public String findDepatmentAlternative(
      @PathVariable("departmentId") String someDepartmentId){
    
        System.out.println("Find department with ID: " + someDepartmentId);
        return "someResult";
    
    }
    
    



       这个有点不同,就是接收形如/departments/23的URL访问,把23作为传入的departmetnId,,但是在实际的方法findDepatmentAlternative中,使用 
    @PathVariable("departmentId") String someDepartmentId,将其绑定为 
    someDepartmentId,所以这里someDepartmentId为23 

    5url中同时绑定多个id 
      

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

    public String findEmployee(  

      @PathVariable String departmentId,  

      @PathVariable String employeeId){  

      

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

          " from department: " + departmentId);  

        return "someResult";  

      

    }  

    @RequestMapping(value="/departments/{departmentId}/employees/{employeeId}")
    public String findEmployee(
      @PathVariable String departmentId,
      @PathVariable String employeeId){
    
        System.out.println("Find employee with ID: " + employeeId + 
          " from department: " + departmentId);
        return "someResult";
    
    }
    
    



       这个其实也比较好理解了。 

    支持正则表达式 
       

     

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

    public String regularExpression(  

      @PathVariable String textualPart,  

      @PathVariable String numericPart){  

      

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

          ", numeric part: " + numericPart);  

        return "someResult";  

    }  

    @RequestMapping(value="/{textualPart:[a-z-]+}.{numericPart:[\\d]+}")
    public String regularExpression(
      @PathVariable String textualPart,
      @PathVariable String numericPart){
    
        System.out.println("Textual part: " + textualPart + 
          ", numeric part: " + numericPart);
        return "someResult";
    }
    
    



       比如如下的URL:/sometext.123,则输出: 
    Textual part: sometext, numeric part: 123.

  • 相关阅读:
    可编辑的div -> 编辑框
    图片的缩放处理
    枚举转换成字典集合的通用方法
    SQLPrompt_9.5.5.9830破解版含注册机_永久激活不掉线
    配置阿里云docker镜像地址
    Virtualbox设置固定IP
    史上最全的 vi 命令大全,建议手册
    ASP.NET Core WebApi使用Swagger生成api说明文档看这篇就够了
    vue Slot理解
    windows上pip安装及使用详解
  • 原文地址:https://www.cnblogs.com/javaMan/p/jackyrong1.html
Copyright © 2011-2022 走看看