SpringMVC----@RequestMapping__请求参数&请求头

1.概述

  @RequestMapping的value(请求URL)、method(请求方法)、params(请求参数)、heads(请求头)[映射条件];他们之间是的关系,联合使用多个条件可以让请求映射更加精确化;

  params和headers支持简单的表达式:

    param1:表示请求必须包含名为param1的请求参数;

    !param1:表示请求不能包含名为param1的请求参数;

    param1 != value1:表示请求包含名为param1的请求参数,但其值不能为value1;

    {"param1=value1","param2"}:表示请求必须包含名为param1和param2的两个请求参数,且param1参数的值必须为value1;

2.代码

package com.yk.springmvc.handlers;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@RequestMapping("/springmvc")
@Controller
public class SpringMVCTest {
    
    private static final String SUCCESS = "success";
    /**
     * 可以使用params和headers来更加精确映射请求,params和headers支持简单的表达式
     * @return
     */
    @RequestMapping(value="testParamsAndHeaders",params={"username","age!=10"},headers={"Accept-Language:zh-CN,zh;q=0.9"})
    public String testParamsAndHeaders(){
        System.out.println("SpringMVCTest.testParamsAndHeaders()");
        return SUCCESS;
    }
    
    
    /**
     * 使用method属性指定请求方式
     * @return
     */
    @RequestMapping(value="/testMethod",method=RequestMethod.POST)
    public String testMethod(){
        System.out.println("SpringMVCTest.testMethod()");
        return SUCCESS;
    }
    
    @RequestMapping("/testRequestMapping")
    public String testRequestMapping(){
        System.out.println("SpringMVCTest.testRequestMapping()");
//        return "success";    下面会有很多,所以定义一个常量
        return SUCCESS;
    }    
}

<a href="springmvc/testParamsAndHeaders?username=guigu&age=11">Test&testParamsAndHeaders</a>

 

SpringMVC----@RequestMapping__请求参数&请求头

上一篇:SpringMVC----@RequestMapping__Ant路径


下一篇:WWDC2018 之 优化 App Assets Optimizing App Assets