一、前端知识概述

说明:
1、Headers和Payload为前端传给后端的请求头和请求参数信息。Preview和Response为后端返回的数据。
2、Payload标签内为前端传给后端的参数。其中,Query String Parameters中为问号传参,对应后端@RequestParam方式;Request Payload为form-data传参,对应后端@RequestBody方式。
二、HttpServletRequest接口概述
概述:HttpServletRequest接口主要用于获取前端传过来的数据(包括请求头Headers和请求参数Payload)。该接口继承ServletRequest,因此在调用给接口方法时,可以看下ServletRequest接口中有没有我们想要的方法。有两种方法来创建该接口(实现类,因为接口无法创建对象)实例:
- 直接构造实例
HttpServletRequest httpServletRequest;
说明:这种写法可以直接作为方法入参。此外,如果作为类的属性,需要添加
@Autowired注解。
- 通过作为方法返回值构造
ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
HttpServletRequest request = requestAttributes.getRequest();
三、HttpServletRequest内部方法简介
- getCookies():Cookie[]
 主要用于获取前端传过来的Cookie值,该值保存于请求头中,一起传给后端。
- getHeader(String var1):String
 获取请求头中的数据。
- getParameter(String var1):String
 获取请求参数(Payload中的参数)。获取顺序为:URI (Query String Parameters)-> 请求体(Request Payload),如果uri和请求体中包含同名的参数名,则只能获取到uri中的参数值,无法获取请求体中的参数值。
- getParameterValues(String var1):String[]
 与3类似,区别在于如果URI和请求体中包含同名参数名,两者的参数值均可被获取。
- setAttribute(String var1, Object var2):void
 用于设置属性及其值。
- getAttribute(String var1):Object
 只能收到程序用setAttribute传过来的值。