1.注解底层解释
表示方法参数应绑定到web请求头的注释。
支持Spring MVC和Spring WebFlux中带注释的处理程序方法。
如果方法参数是Map<String,String>、MultiValueMap<String,String>或HttpHeaders,则映射将填充所有头名称和值。
2.属性解释
2.1:value()/name():从请求头获取指定的参数值
2.2.required():boolean 类型,默认为true,即请求头中必须包含此参数。
2.3.defaultValue():为请求头中的参数提供默认值,如果拿不到值,就将此值赋给控制器的参数
3.使用举例:
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import java.util.Map;
@RestController
@RequestMapping("/test")
public class TestController {
/**
* 获取所有请求头的值
* @param map
* @return
*/
@GetMapping("header")
@ApiOperation("测试请求头")
public Result header(@RequestHeader Map<String,String> map) {
map.forEach((K,V)->{
System.out.println(K+":"+V);
});
return new Result().ok("11");
}
/**
*
* @param connection 获取请求头中connection的值 必须含有
* @param zyp 获取请求头中"zyp"的值 不是必须含有 没有的话给默认值 zyp111
* @return
*/
@GetMapping("header1")
@ApiOperation("测试请求头1")
public Result header1(@RequestHeader(name = "connection") String connection,@RequestHeader(value = "zyp",required = false,defaultValue = "zyp111") String zyp) {
System.out.println("zyp = " + zyp);
return new Result().ok(connection);
}
}