• RequestMapping注解


    1、简介

    @RequestMapping注解是springmvc中常用的注解,它是用来处理请求映射地址的注解,可以用于类或方法上,用于类上时,表示该类中的方法后以该地址为父路径。

    2、属性

    • value:指定请求的地址,地址可以分为三类

    1、指定具体的路径

        @RequestMapping(value= {"/index"})
        public String index() {
    	    return "index";
        }
    

    2、指定为含有某变量的一类值(URI模板)当控制器处理请求时,URI模板中的变量会被对应部分的值所填充,具体请看示例

        //ownerId即为变量,若请求地址为“/index/admin”,即变量id值为admin
        @RequestMapping(value="/index/{id}", method=RequestMethod.GET)
        public String findOwner(@PathVariable String id) {
            return "index";
        }
    

    3、指定为含正则表达式的一类值(这个实际开发中应该很少用)

        @RequestMapping("/spring-web/{symbolicName:[a-z-]+}-{version:\d\.\d\.\d}{extension:\.[a-z]+}")
            public void handle(@PathVariable String version, @PathVariable String extension) {
                // 代码部分省略...
            }
        }    
    
    • method:指定提交请求的方式,有GET,POST等
      示例

        @RequestMapping(value= {"/index"},method=RequestMethod.POST)
        public String index() {
            return "index";
        }  
      
    • consmues:指定处理请求的提交内容类型(Content-Type),例如application/json, text/html,请求类型与指定类型不同时,将无法请求
      示例

        @RequestMapping(value= {"/index"},method=RequestMethod.POST,consumes="application/json")
        	public String index() {
        		return "index";
        	}
      
    • produces:指定返回的内容类型,请求头的Accept中要包含该类型,才可以返回
      示例

        @RequestMapping(value= {"/index"},method=RequestMethod.POST,produces="application/json")
        	public String index() {
        		return "index";
        	}
      
    • params:表示request请求中必须包含某些参数,方法才会进行请求处理
      示例
      请求中必须包含username这个参数,方法才会对请求进行处理

        @RequestMapping(value= {"/index"},method=RequestMethod.GET,params="username")
        public String index() {
        		return "index";
        }
      
    • headers: 指定request中必须包含某些指定的header值,才能让该方法处理请求。
      示例
      请求头中的 referer需与 “http://www.baidu.com/”一样

        @RequestMapping(value = "/pets", method = RequestMethod.GET, headers="Referer=http://www.baidu.com/")
          public void findPet(@PathVariable String ownerId, @PathVariable String petId, Model model) {    
            // implementation omitted
          }
        }
  • 相关阅读:
    第五届河南省大学生程序设计竞赛 :最强DE战斗力(大数乘法)
    zzuli2455: 最大增区间(一)
    zzuli2455: 最大增区间(一)
    zzuli2424: 越靠近,越幸运(dfs)
    菜根谭#31
    菜根谭#30
    菜根谭#29
    菜根谭#28
    菜根谭#27
    菜根谭#26
  • 原文地址:https://www.cnblogs.com/hamawep789/p/10849818.html
Copyright © 2020-2023  润新知