@ResponseBody注解作用与原理「建议收藏」

@ResponseBody注解作用与原理「建议收藏」1、概念注解@ResponseBody,使用在控制层(controller)的方法上。2、作用作用:将方法的返回值,以特定的格式写入到response的body区域,进而将数据返回给客户端。当方法上面没有写ResponseBody,底层会将方法的返回值封装为ModelAndView对象。如果返回值是字符串,那么直…

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

1、概念

        注解 @ResponseBody,使用在控制层(controller)的方法上。

2、作用

        作用:将方法的返回值,以特定的格式写入到response的body区域,进而将数据返回给客户端。

        当方法上面没有写ResponseBody,底层会将方法的返回值封装为ModelAndView对象。

        如果返回值是字符串,那么直接将字符串写到客户端;如果是一个对象,会将对象转化为json串,然后写到客户端。

3、注意编码

       注解中我们可以手动修改编码格式,例如@RequestMapping(value=”/cat/query”,produces=”text/html;charset=utf-8″),前面是请求的路径,后面是编码格式。

4、原理

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

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

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

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


相关推荐

  • 常见端口渗透总结[通俗易懂]

    常见端口渗透总结[通俗易懂]文章目录0x00背景服务默认端口爆破0x01实战测试文件共享服务端口渗透ftp服务NFS服务Samba服务LDAP协议远程连接服务端口渗透SSH服务Telnet服务Windows远程连接VNC服务Pcanywhere服务Web应用服务端口渗透IIS服务Apache/Tomcat/Nginx/Axis2WebLogicJbossWebsphereGlassFishJenkinsResinJettyLotus数据库服务端口渗透MySQL数据库MSSQL数据库Oracle数据库PostgreSQL数据库Mon

    2025年11月3日
    4
  • clover直接进windows_黑苹果CLOVER引导去除多余引导项Windows10 MacOS DeepinLinux Fyde…「建议收藏」

    现在新的电脑安装系统,引导方式都改为了EFI,至于EFI和MBR引导的区别可以自行度娘。用了EFI引导安装黑苹果(关于黑苹果的安装,除非你喜欢折腾,否则建议直接找某宝,几十块十几分钟就能装好)自然就会使用CLOVER.但是CLOVER的默认添加启动项的方式,在安装完多系统后,就会有冗余。先看两张效果图吧。优化前:优化后:由于我目前这个电脑不仅安装了Windows和MAC,还装了别的Linux系统。…

    2022年4月13日
    454
  • mysql自定义函数写法_mysql多实例部署

    mysql自定义函数写法_mysql多实例部署本文实例讲述了mysql自定义函数原理与用法。分享给大家供大家参考,具体如下:本文内容:什么是函数函数的创建函数的调用函数的查看函数的修改函数的删除首发日期:2018-04-18什么是函数:函数存储着一系列sql语句,调用函数就是一次性执行这些语句。所以函数可以降低语句重复。【但注意的是函数注重返回值,不注重执行过程,所以一些语句无法执行。所以函数并不是单纯的sql语句集合。】mysql函数有自己…

    2025年10月4日
    3
  • ubuntu 通过命令行 卸载软件_命令提示符卸载软件

    ubuntu 通过命令行 卸载软件_命令提示符卸载软件1、在终端里apt-get安装的软件:安装软件sudo apt-getinstallsoftname1softname2softname3……卸载软件sudoapt-getremovesoftname1softname2softname3……卸载并清除配置sudo apt-getremove–purgesoftname1更新软件信息数据库sudoapt-getu…

    2025年10月13日
    3
  • RSA加密算法的基本流程

    RSA加密算法的基本流程本文只是说一下RSA加密的流程,对于其他的不做过多的介绍!首先找到两个大素数p,q计算n=p*q,=φ(n)(p-1)*(q-1),其中φ(n)表示的是n的欧拉函数值任意选择一个满足要求的证书e,满足1

    2022年5月24日
    43
  • 远程连接工具SecureCRTPortable连接不上linux的解决方法[通俗易懂]

    远程连接工具SecureCRTPortable连接不上linux的解决方法[通俗易懂]今天学习linux用远程工具连接时,连接不上,出现了一个类似函数的东西,运用了排除法,1.先检查了虚拟机服务是否开启2.然后ping网关看能通吗3.然后pingDNS域名,再pingwww.baidu.com都能ping通,百思不得其解然后通过查资料,输入route发现default后面并没有分配默认网关于是输入routeadddefaultgw192.168…

    2022年5月8日
    335

发表回复

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

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