目录

1. 使用Servlet原生方法获取Header

2. 使用Spring注解获取Header

1. 使用Servlet原生方法获取Header

.java文件内容如下:

package com.example.demo.controller;

import com.example.demo.Person;

import org.springframework.web.bind.annotation.*;

import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.Cookie;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

import java.io.File;

import java.io.IOException;

import java.util.Arrays;

import java.util.List;

@RequestMapping("/Para")

@RestController

public class ParaController {

@RequestMapping("/getHeader")

public String getHeader(HttpServletRequest request){

String userAgent = request.getHeader("User-Agent");

return "userAgent: "+userAgent;

}

}

运行启动浏览器,页面如下:

2. 使用Spring注解获取Header

可以使用Spring 提供的注解@RequestHeader获取HTTP请求中的header;

.java文件内容如下:

package com.example.demo.controller;

import com.example.demo.Person;

import org.springframework.web.bind.annotation.*;

import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.Cookie;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

import java.io.File;

import java.io.IOException;

import java.util.Arrays;

import java.util.List;

@RequestMapping("/Para")

@RestController

public class ParaController {

@RequestMapping("/getHeader2")

public String getHeader(@RequestHeader("User-Agent") String userAgent){

return "userAgent: "+userAgent;

}

}

运行启动后,使用浏览器访问对应URL:

可以使用Fiddler抓包,查看HTTP请求信息:

可见二者对应;

注:1.注意:@RequestHeader注解的参数需与HTTP请求中的header的键名一致:

如现将后端的参数名改为userAgent而非User-Agent,

@RequestMapping("/getHeader2")

public String getHeader(@RequestHeader("userAgent") String userAgent){

return "userAgent: "+userAgent;

}

重新启动运行:

可见访问错误;

相关链接

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。