建设招标网 手机官方网站,wordpress3.5.2下载,wap网站开发作业,做网站用asp还是php目录
总入口
测试case
源码分析
1. 针对RequestBody的参数解析
2. 针对 ResponseBody 的返回值处理 总入口
通过上一篇Spring MVC 参数解析#xff08;13#xff09;_chen_yao_kerr的博客-CSDN博客的说明#xff0c;相信大家对Sping MVC的参数解析有了一定的了解…目录
总入口
测试case
源码分析
1. 针对RequestBody的参数解析
2. 针对 ResponseBody 的返回值处理 总入口
通过上一篇Spring MVC 参数解析13_chen_yao_kerr的博客-CSDN博客的说明相信大家对Sping MVC的参数解析有了一定的了解下面对我们开发中最常用的传JSON以及前端接受JSON进行分析。
参数解析 以及 返回值的入口上一篇我们说过可以快速找到的。 下面进入总入口 测试case
业务方法 RequestMapping(value /queryUser3, method RequestMethod.POST)public ResponseBody ZgGoods queryUser3(NotNull RequestBody ZgGoods g){g.setGoodName(update name);return g;}
POJO
package com.xiangxue.jack.pojo;public class ZgGoods {private String goodCode;private String goodName;private Integer count;public String getGoodCode() {return goodCode;}public void setGoodCode(String goodCode) {this.goodCode goodCode null ? null : goodCode.trim();}public String getGoodName() {return goodName;}public void setGoodName(String goodName) {this.goodName goodName null ? null : goodName.trim();}public Integer getCount() {return count;}public void setCount(Integer count) {this.count count;}
}
发送的JSON以及接收的JSON 源码分析
1. 针对RequestBody的参数解析
其实就是就是读取流信息然后按照 对象的方法获取实际的参数类型将读取的信息封装成实际的参数信息。具体步骤如下
首先快速锁定参数解析的最关键代码处我们发现 RequestBody注解使用的参数解析器为 RequestResponseBodyMethodProcessor。 这个解析器既负责参数解析也负责返回值处理 过度步骤 解析的核心代码 最后就是反射调用业务代码了 2. 针对 ResponseBody 的返回值处理 因为JSON的解析 与 返回值处理使用的是同一个类RequestResponseBodyMethodProcessor所有debug直接打在处理类的 handleReturnValue方法中 中间过程我就不累赘了感兴趣的童鞋可以自己读读源码。其实最终是以流的形式输出的输出的格式为JSON串