码迷,mamicode.com
首页 > 编程语言 > 详细

SpringMVC之ajax传递jason数据详解以及@RequestBody和@ResonseBody注解

时间:2019-07-31 22:17:41      阅读:391      评论:0      收藏:0      [点我收藏+]

标签:调用   res   mod   ring   遇到   java应用   嘻嘻   article   方法   

     最近在做ajax进行用户名校验时遇到了一些问题,在不断debug的过程中也加深了我对springMVC之ajax传递jason数据的理解,希望对有需要的小伙伴一些帮助~

工具:IDEA 

我们通过code来理解一下:

1.如下图时js代码:因为是对用户名校验,所以传入的数据只有用户名;

技术图片

PS:SpringMVC 通过ajax传参到后台时:因为@RequestBody接收的是一个Json对象的字符串,而不是一个Json对象。然而在ajax请求往往传的都是Json对象,用 JSON.stringify(data)的方式就能将对象变成字符串。同时ajax请求的时候也要指定dataType: "json",contentType:"application/json"。

 2.controller中的实现:

技术图片

   大家可以发现我们传入的数据只有用户名为什么RequestBody得到的是一个POJO类的对象(当然这个Admin类不止这个属性啦)呢?那就需要我们对@RequestBody和@ResponseBody这两个注解和SpringMVC中ajax的具体操作有一个了解啦。

①.首先简单介绍下Jackson:Jackson是一个简单基于Java应用库,Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象;要引入强大的Jackson需要我们在pom.xml中导入相关的依赖(需要配置XML <mvc:annotation-driven />

如图:

技术图片

可以在外部库中看到:

技术图片

 关于Jackson的详细用法大家可以参考这篇文章https://www.cnblogs.com/naaoveGIS/p/3893651.html

.@RequestBody:简单的说就是 RequestBody用于获取请求体的结构,使用了Jackson框架和@RequestBody注解后所以可以实现把请求体的内容封装到Admin对象中,同时Spring MVC 会按请求参数名和 POJO 属性名进行自动匹配,自动为该对象填充属性值。

③.@ResponseBody:ResponseBody将返回的值直接写到Http的响应体中,不需要替换为Spring的Model或者解析为视图,相当于response.getWriter.write();当使用了Jackson框架和@ResponseBody注解之后,Jackson框架自动将对象解析成Json串返还数据给前端页面。

大家想详细了解@RequestBody和@ResponseBody的参考这篇文章:http://www.chinacion.cn/article/608.html

      因此我们传入的Jason数据由于我们添加了Jackson依赖后会被转换为Java对象,同时Spring MVC 会按请求参数名和 POJO 属性名进行自动匹配,所以我们对POJO类的对象调用service层的方法啦~是不是觉得灰常强大灰常好用啊,嘻嘻小伙伴要是觉得有帮助的话欢迎顶一下哈~

 

SpringMVC之ajax传递jason数据详解以及@RequestBody和@ResonseBody注解

标签:调用   res   mod   ring   遇到   java应用   嘻嘻   article   方法   

原文地址:https://www.cnblogs.com/wyhhh/p/11279068.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!