ResponseBody浅析[通俗易懂]

ResponseBody浅析[通俗易懂]@[TOC]ResponseBody浅析欢迎使用Markdown编辑器你好!这是你第一次使用Markdown编辑器所展示的欢迎页。如果你想学习如何使用Markdown编辑器,可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:…

大家好,又见面了,我是你们的朋友全栈君。

写代码中遇到的一个小问题,记录一下

@Controller层@RequestMapping后会直接返回ModelAndView对象,而对于Ajax请求,有些时候只需要返回String字符串或者一个Object对象,此时@ResponseBody这个注解通常使用在控制层(controller)的方法上,其作用是将方法的返回值以特定的格式写入到response的body区域,进而将数据返回给客户端。当方法上面没有写ResponseBody,底层会将方法的返回值封装为ModelAndView对象。

假如是字符串则直接将字符串写到客户端,假如是一个对象,此时会将对象转化为json串然后写到客户端。这里需要注意的是,如果返回对象,按utf-8编码。如果返回String,默认按iso8859-1编码,页面可能出现乱码。因此在注解中我们可以手动修改编码格式,例如@RequestMapping(value=”/cat/query”,produces=“text/html;charset=utf-8”),前面是请求的路径,后面是编码格式。

那么,控制层方法的返回值是如何转化为json格式的字符串的呢?其实是通过HttpMessageConverter中的方法实现的,因为它是一个接口,因此由其实现类完成转换。如果是bean对象,会调用对象的getXXX()方法获取属性值并且以键值对的形式进行封装,进而转化为json串。如果是map集合,采用get(key)方式获取value值,然后进行封装。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/140246.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • k8s资源分类机制_k8s资源分类机制

    k8s资源分类机制_k8s资源分类机制(第三章)资源管理yaml语言介绍资源管理方式介绍方式1:命令式对象管理方式2:命令式对象配置方式3:声明式对象配置配置方式总结kubectl在node节点上执行资源管理本章节主要介绍yaml语法和kubernetes的资源管理方式学习kubernetes的核心,就是学习如何对集群上的Pod、Pod控制器、Service、存储等各种资源进行操作[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-W4JFixu6-1651391374869)(en-resour

    2022年8月12日
    2
  • MATLAB绘制B样条曲线[通俗易懂]

    MATLAB绘制B样条曲线[通俗易懂]1B样条曲线1.1B样条曲线定义B样条方法具有表示与设计自由型曲线曲面的强大功能,是形状数学描述的主流方法之一,另外B样条方法是目前工业产品几何定义国际标准——有理B样条方法(NURBS)的基础。B样条方法兼备了Bezier方法的一切优点,包括几何不变性,仿射不变性等等,同时克服了Bezier方法中由于整体表示带来不具有局部性质的缺点(移动一个控制顶点将会影响整个曲线)。B样条曲线方程可写为

    2022年6月18日
    118
  • URAL 1146

    URAL 1146题目大意:给出一个N*N的矩阵,每个元素的范围为[-127,+127]。求其所有子矩阵中各元素之和的最大值。TimeLimit:1000MS     MemoryLimit:65536KB     64bitIOFormat:%I64d&%I64u数据规模:N理论基础:无。题目分析:求和问题,用前缀和(每一行)+枚举(对列的起始与终点和行的起始与终点枚举)即

    2022年6月9日
    35
  • srm 534

    srm 534

    2022年1月27日
    40
  • centos7系统更新命令_centos 更新

    centos7系统更新命令_centos 更新1.查看网络IP ifconfig2.下载命令 wget+网址3.安装 yum-y install + 目标4.删除文件 sudo rm 文件所在目录/目标强制删除文件 rm -f删除目录 rm -rf5.复制一个文件到另一个文件夹sudo cp /文件夹/文件 /另一个文件夹6.对一些文件进行读写sudo vim 文件名7….

    2022年8月18日
    7
  • 程序员面试、算法研究、编程艺术、红黑树、机器学习5大系列集锦

    程序员面试、算法研究、编程艺术、红黑树、机器学习5大系列集锦程序员面试、算法研究、编程艺术、红黑树、机器学习5大经典原创系列集锦与总结作者:July–结构之法算法之道blog之博主。时间:2010年10月-2018年5月,一直在不断更新中..出处:http://blog.csdn.net/v_JULY_v。说明:本博客中部分文章经过不断修改、优化,已集结出版成书《编程之法:面试和算法心得》。前言开博4年有余,…

    2022年4月19日
    48

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号