目录
问题1:获取请求参数
情景:前端使用json传输数据,后端用实体类接受对象,此时实体类为null,无法接收到对象,在所以将已知的获取请求参数方法进行汇总。
1、get请求
测试用例1:成功
直接给方法入参上写一个和请求参数名相同的变量,这个变量就来接受请求参数的值;
补充:如果没对应上,参数赋值为null
测试用例2:成功
若浏览器传输的请求参数的参数名和实体类中的属性名一致,那么请求参数就会为此属性赋值
测试用例3:成功
@RequestParam获取请求参数,参数默认是必须要带的,否则请求会错误
2、post请求
补充:form-data与x-www-form-urlencode的区别
测试用例1:使用与get请求相同的三种测试用例,成功
测试用例2:成功
前端传输json对象,后端使用上述三种方式获取失败,只能使用@RequestBody
注解@RequestBody接收的参数是来自requestBody中,即请求体。一般用于处理非 Content-Type: application/x-www-form-urlencoded编码格式的数据,比如:application/json、application/xml等类型的数据。
后端@RequestBody注解对应的类在将HTTP的输入流(含请求体)装配到目标类(即:@RequestBody后面的类)时,会根据json字符串中的key来匹配对应实体类的属性.
如果匹配一致且json中的该key对应的值符合(或可转换为)实体类的对应属性的类型要求时,会调用实体类的setter方法将值赋给该属性。
如果实体类是String,会把请求体转换为Json字符串赋给这个类实例
问题2:PageHelper用法
官网:https://pagehelper.github.io/docs/
紧跟着PageHelper.startPage(page, pageSize);的sql查询会被分页,这个API返回的Page对象保存所有查询出来的对象信息