美文网首页
SpringMVC与前台的json数据交互

SpringMVC与前台的json数据交互

作者: ApesKingMan | 来源:发表于2020-04-22 09:11 被阅读0次

        json数据格式在接口调用中、html页面中比较常用,json格式比较简单,解析也比较方便,所以使用很普遍。在springmvc中,也支持对json数据的解析和转换。

1. 两种交互形式

springmvc和前台交互主要有两种形式,如下图所示:

            前台传过来的方式有两种,一种是传json格式的数据过来,另一种就是在url的末尾传普通的key/value串过来,针对这两种方式,在controller中会有不同的解析,但是在controller中返回的json格式的数据都是一样的。下面来具体分析一下springmvc是如何与前台进行json数据的交互的。

2. 配置json转换器

配置json转换器有两种方式,如果是配置了注解适配器org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter的话,需要在该适配器中配置json转换器, 如下:

        但是如果使用<mvc:annotation-driven />注解驱动的话就不用以上的配置了,默认已经配好了。建议使用这种,比较方便。

3. json交互测试

        1)前台传输的是json格式数据    

       使用jquery的ajax提交json串,对输出的json结果进行解析。前台的程序如下:

看一下controller中是如何操作的。

            由于前台传的是name和price两个属性,所以在后台就用ItemsCustom来接收了,这个类中也有这两个属性。重点是@RequestBody注解,它是将前台传过来的json串穿换成itemsaCustom对象,然后再将该对象return回去,通过@ResponseBody注解将itemsCustom对象转成json格式返回给前台。这样前台接收到了后就可以解析了。我们看一下测试的结果: 

    响应的结果,null表示空值而已,这里就返回了原对象,也就只有name和price属性。

2)前台传输的是key/value格式的数据

    我们还是使用jquery的ajax提交key/value串,对输出的json结果进行解析。前台的程序如下:

因为key/value串不是json格式的,所以controller在接收的时候就不需要@RequestBody的注解了,但是返回到前台的json格式的数据还是需要@ResponseBody注解的,如下:

测试结果如下:

            springmvc与前台json数据的交互就总结这么多。

参考:https://mp.weixin.qq.com/s/RpNJdGAuFPlv_Z-G9jstaA

相关文章

网友评论

      本文标题:SpringMVC与前台的json数据交互

      本文链接:https://www.haomeiwen.com/subject/ihctvhtx.html