博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
springmvc @RequestBody @ResponseBody的作用
阅读量:7115 次
发布时间:2019-06-28

本文共 1069 字,大约阅读时间需要 3 分钟。

hot3.png

一、@RequestBody

      @RequestBody是作用在形参列表上,用于将前台发送过来固定格式的数据【xml 格式或者 json等】封装为对应的 JavaBean 对象,封装时使用到的一个对象是系统默认配置的 HttpMessageConverter进行解析,然后封装到形参上。

比如上面的登录后台代码可以改为:

复制代码

@RequestMapping("/login.do")    @ResponseBody    public Object login(@RequestBody User loginUuser, HttpSession session) {        user = userService.checkLogin(loginUser);        session.setAttribute("user", user);        return new JsonResult(user);    }

二、@ResponseBody

@ResponseBody是作用在方法上的,@ResponseBody 表示该方法的返回结果直接写入 HTTP response body 中,一般在异步获取数据时使用【也就是AJAX】,在使用 @RequestMapping后,返回值通常解析为跳转路径,但是加上 @ResponseBody 后返回结果不会被解析为跳转路径,而是直接写入 HTTP response body 中。 比如异步获取 json 数据,加上 @ResponseBody 后,会直接返回 json 数据。@RequestBody 将 HTTP 请求正文插入方法中,使用适合的 HttpMessageConverter 将请求体写入某个对象。

后台 Controller类中对应的方法:

复制代码

@RequestMapping("/login.do")    @ResponseBody    public Object login(String name, String password, HttpSession session) {        user = userService.checkLogin(name, password);        session.setAttribute("user", user);        return new JsonResult(user);    }

转载于:https://my.oschina.net/lsl1991/blog/1550258

你可能感兴趣的文章
解决SecureCRT连接GNS3时SecureCRT标签窗口同名的问题
查看>>
AWS - 通过Snapshot 还原 EC2实例的一些问题
查看>>
小品Linux文件时间
查看>>
Windows10-AzureAD的支持,云的落地
查看>>
iOS开发那些事-移动平台架构设计
查看>>
【Hibernate框架开发之五】Hibernate对象的三种状态&Session常用方法
查看>>
澄清大数据存储——厂商篇
查看>>
MyBatis多参数传递之默认命名方式示例——MyBatis学习笔记之十二
查看>>
我的友情链接
查看>>
使用python的docker-py实现docker的api操作
查看>>
在非域环境中修改域用户密码的方法
查看>>
虚拟化基础架构Windows 2008篇之10-使用WDS安装Windows 7
查看>>
联想3850 X5服务器添加内存之后红屏
查看>>
0成本涨粉过万详细复盘,新手也可100%实操上手!
查看>>
轻量级HTTP服务器Nginx(常用配置实例)
查看>>
企业Shell面试题18:单词及字母去重排序案例
查看>>
Exchange 2010升级补丁时的服务状态变化
查看>>
忘记管理员密码的补救办法
查看>>
安装与配置Weblogic单实例
查看>>
年薪千万的工作感悟
查看>>