Servlet API 方式
package world.xuewei.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import javax.servlet.http.HttpServletRequest; /** * 第一个控制器 * * @author 薛伟 * @since 2023/10/30 16:18 */ @Controller public class HeaderController { @RequestMapping("/header") public String header(HttpServletRequest request) { String token = request.getHeader("Token"); return "index"; } }
@RequestHeader 注解
使用
如果请求中不存在指定名称的 Header,
除了获取单个请求头的值外,
- 指定默认值:可以使用
defaultValue 属性为参数指定默认值,当请求中不存在指定名称的请求头时,将使用该默认值。 - 支持类型转换:
@RequestHeader 注解可以将请求头的值转换为不同的类型,例如int 、boolean 、Date 等。如果无法转换,则会抛出异常。 - 属性绑定:可以使用
@RequestHeader 注解将请求头的值绑定到模型属性上,从而在视图中使用该属性。
需要注意的是,
package world.xuewei.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RequestMapping; /** * 第一个控制器 * * @author 薛伟 * @since 2023/10/30 16:18 */ @Controller public class HeaderController { @RequestMapping("/header") public String header(@RequestHeader("Token") String token) { System.out.println(token); return "index"; } }