首页 > 其他分享 >@RequestHeader注解:获取请求头参数

@RequestHeader注解:获取请求头参数

时间:2023-04-23 17:35:56浏览次数:37  
标签:控制器 请求 Agent RequestHeader User 注解 hello

1.前言

Spring MVC提供了 @RequestHeader注解,其作用是将请求头中的参数值映射到控制器的参数中。常用属性如下:

  • name:header值被绑定到的参数名称(The name of the request header to bind to)。只有此属性时,可以省略name,简写为@RequestHeader("User-Agent")
  • required:Boolean类型,默认值为true,即请求头中必须包含此参数。
  • defaultValue:为请求头中的参数提供默认值,如果拿不到值,就将此值赋给控制器的参数。

2.案例

在下面的代码片段中,定义了一个映射到/hello.htm的hello控制器方法。
同时用 @RequestHeader注解将请求头中”User-Agent“的变量与”userAgent“变量绑定。
当此某个请求映射到了此控制器方法,Spring会检查请求头中的”User-Agent“变量,并将其与”userAgent“变量绑定。

@Controller
public class HelloController {
    @RequestMapping(value = "/test") 
    public String hello(@RequestHeader(value="User-Agent") String userAgent){
        //...
    } 	    
} 

如果 @RequestHeader绑定的变量,在请求头中不存在,Spring会将控制器中的参数初始化为null。如果想给控制器参数提供一个默认值,在 @RequestHeader的defaultParameter属性。

@RequestMapping(value = "/hello.htm") 
public String hello(@RequestHeader(value="User-Agent", defaultValue="foo") String userAgent){
	//.. 
}

标签:控制器,请求,Agent,RequestHeader,User,注解,hello
From: https://www.cnblogs.com/forever0406/p/17347166.html

相关文章

  • 【uni-app】【02】请求域名的全局配置。
    关于uni-app的请求问题,可以访问官方文档https://uniapp.dcloud.net.cn/api/request/request.html值得注意的一个点就是全局配置域名的问题。因为本地测试是localhost,但是实际部署前后端分离的,域名就不是localhost了,端口号什么的也可能要变,要是不用一个全局变量来代替域名,那后期......
  • 自定义注解获取当前登录信息
    登录注解/***@authorzhourui*@date2023/4/189:39*/importjava.lang.annotation.*;/***@authorzhourui*@date2023/4/1714:42*/@Documented@Target(ElementType.METHOD)@Retention(value=RetentionPolicy.RUNTIME)public@interfaceReLogin{}......
  • axios发送请求
     1.浏览器前端向服务器发送http请求(请求报文)2.后台服务器接收到请求后,处理请求,向浏览器返回http响应(响应报文)3.浏览器端接收到响应,解析显示响应体或者调用监视回调函数  1.请求行:格式:methodurlGET/product_details?id=2  或者POST/login2.请求头(一般有多个)Host:......
  • jmeter中的java请求 用httpclient写的http请求 及参数化
    首先,jmeter中的sample的原理: jmeter 中的java 请求,sample 原理,java testjmeter自带的包,把包放在类路径下面,通过反射机制,通过反射机制扫出来。 先导入五个jar包  packagecom.young.testing91;importjava.io.IOException;importorg.apache.http.client.C......
  • Spring 通过注解配置bean
    微信公众号:测试加油站关注可了解更多的测试开发技术。问题或建议,请公众号留言;如果你觉得文章对你有帮助,欢迎转发[1]Java配置是Spring4.x推荐的配置方式,可以完全替代xml配置。Spring的java配置是通过这两个注解实现的,@Configuration和@Bean@Configuration作用到类上,相当一个xml......
  • SpringBoot中底层对 /health 的请求是怎么处理的?
     在SpringBoot应用程序中,/health端点是通过HealthEndpointbean来处理的。当您访问/health端点时,SpringBoot会调用HealthEndpointbean的health()方法来检查应用程序的健康状态,并返回相应的响应。HealthEndpointbean是通过HealthEndpointAutoConfiguration自......
  • spring mvc一个Controller响应多个请求
    1.1. 控制器的实现packagecom.morris.controller;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importorg.springframework.web.servlet.ModelAndView;importorg.springframework.web.servlet.mvc.multiaction.Multi......
  • spring mvc注解基本配置
    1.1. 配置web.xml<?xmlversion="1.0"encoding="UTF-8"?><web-appxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee"xsi:schemaLocation="http://java.sun.com/xm......
  • Spring缓存注解的使用与源码分析
    SpringCache提供了一个对缓存使用的抽象,以及大量的实现方便开发者使用。SpringCache主要提供了如下注解:注解说明@Cacheable根据方法的请求参数对其结果进行缓存@CachePut根据方法的请求参数对其结果进行缓存,和@Cacheable不同的是,它每次都会触发真实方法的调用@CacheEvict根据一定......
  • 注解的作用?
    注解的作用?注解是JDK1.5版本开始引入的一个特性,用于对代码进行说明,可以对包、类、接口、字段、方法参数、局部变量等进行注解。它主要的作用有以下四方面:生成文档,通过代码里标识的元数据生成javadoc文档。编译检查,通过代码里标识的元数据让编译器在编译期间进行检查验证。编......