纯净、安全、绿色的下载网站

首页|软件分类|下载排行|最新软件|IT学院

当前位置:首页IT学院IT技术

RequestBody和ResponseBody及Stringify使用 基于@RequestBody和@ResponseBody及Stringify()的作用说明

linlinlinfeng   2021-06-08 我要评论
想了解基于@RequestBody和@ResponseBody及Stringify()的作用说明的相关内容吗linlinlinfeng在本文为您仔细讲解RequestBody和ResponseBody及Stringify使用的相关知识和一些Code实例欢迎阅读和指正我们先划重点:@RequestBody,@ResponseBody,Stringify()下面大家一起来学习吧

@RequestBody和@ResponseBody及Stringify()的作用

首先在项目的前后交互中json数据格式比较常用普遍认为json格式比较简单易于解析

如果我们在前端发送一个ajax请求的话

可以看到是用json字符串格式向后台传请求参数那么后台需要采用@RequestBody来处理请求的json格式数据将json数据转换为java对象否则springmvc就不能解析导致传空参的结果

一般在异步获取数据时使用在使用@RequestMapping后返回值通常解析为跳转路径加上@responsebody后返回结果不会被解析为跳转路径而是直接写入HTTP response body中

而 @ResponseBody就可以理解成将java的对象转换成json字符串的格式给前端解析(json数据格式解析比较简单)

如果加上@ResponseBody注解就不会走视图解析器不会返回页面目前返回的json数据如果不加就走视图解析器返回页面

现在在开发项目有喜欢用key/value的格式传给后台此方法比较常用在ajax的data中写 ‘name=我&age=12'这个就不用就可以不用加@RequestBody

这里看下项目中请求的格式可以采用qs.stringify()方法将对象或者数组转换为一个key/value的格式这个时候后台接受就可以不用加@RequestBody

在这里需要注意的是JSON中同样存在stringify()方法但是两者之间的区别是很明显的,json的stringify()是返回json字符串

‘{"uid":"cs11","pwd":"000000als","username":"cs11","password":"000000als"}'

但是qs.stringify()是返回key/vlue的拼接:

uid=cs11&pwd=000000als&username=cs11&password=000000als

总结:

客户端请求的数据是json字符串,springmvc不能直接解析加@requestBody解析成对象客户端请求的是key/value的拼接不需要加@requestBody@responseBody返回json字符串如果是ajax请求我们想到得到json对象的话(为了方便根据key取value)

在ajax中增加如下:

dataType: "json"   

@RequestBody和@ResponseBody的简单使用接收JSON(接收json数据)

1、想要使用@RequestBody和@ResponseBody呢必须要使用注解的适配器和映射器至于为什么应该不用多说

在springMVC中进行配置:

<!-- 使用注解的映射器和适配器 -->
 <mvc:annotation-driven/>

2、User类中的字段:ID、name、age、address、sex、phone

3、写一个controller

@RequestMapping("/bodyTest")
 @ResponseBody
 public User testBody(@RequestBody User user){
 return user;
 } 

4、通过火狐浏览器的HTTPRequester插件进行测试那么测试的时候需要注意什么呢?

5、当然了你应该也注意到上面我的Controller的方法上加了一个@ResponseBody那么他的作用是什么呢?

在上面的Controller中我返回的是User对象但是在上图的右侧可以看到返回的值自动转换成了JSON格式

{"id":1,"name":"jin","sex":"man","address":"moerben","age":"12","phone":"110"}

6、网上有说@requestBody需要接收的是一个String化的参数在传参时可以使用JSONObject.stringiffy(json);这个方法来进行转化toString应该也是可以的这两种情况尚未 使用暂时不发表意见仅提供参考

以上为个人经验希望能给大家一个参考也希望大家多多支持


相关文章

猜您喜欢

  • Go语言雪花算法 Go语言实现Snowflake雪花算法

    想了解Go语言实现Snowflake雪花算法的相关内容吗luozhiyun在本文为您仔细讲解Go语言雪花算法的相关知识和一些Code实例欢迎阅读和指正我们先划重点:Go语言,雪花算法,Go语言Snowflake下面大家一起来学习吧..
  • python图像处理操作 python图像处理基本操作总结(PIL库、Matplotlib及Numpy)

    想了解python图像处理基本操作总结(PIL库、Matplotlib及Numpy)的相关内容吗全部梭哈一夜暴富在本文为您仔细讲解python图像处理操作的相关知识和一些Code实例欢迎阅读和指正我们先划重点:python进行图像处理,python,图像处理,python图像下面大家一起来学习吧..

网友评论

Copyright 2020 www.fresh-weather.com 【世纪下载站】 版权所有 软件发布

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 点此查看联系方式