【SpringMVC注解篇】SpringMVC 注解驱动开发(二)JSON数据交互相关注解
【SpringMVC注解篇】SpringMVC 注解驱动开发(二)JSON数据交互相关注解
- JSON数据交互相关注解
- @RequestBody
- 示例
- 访问/useRequestBody请求
- 访问/getUser请求
- @ResponseBody
- 示例
- @RestController
- @RestControllerAdvice
JSON数据交互相关注解
@RequestBody
用于获取全部的请求体,注解只能写在形参前。@RequestBody本身不进行复杂的JavaBean映射,如果需要必须借助第三方组件完成,这里使用jackson。并且参数的键名称必须和实体类属性名一致。 (其实主要是属性对应的set方法,用属性无关,但是自动生成get,set方法都是按属性生成的,所以说与属性一致)。因为
- required : 用于指定是否必须有请求体
如果是简单的SSM项目需要引入对jackson的依赖,如果是springboot项目只需要引入web依赖,即可对jackson进行添加,因为springboot给我们做了jackson依赖的版本仲裁。
jackson具体依赖
<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-annotations</artifactId><version>2.11.3</version>
</dependency>
<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId><version>2.11.3</version>
</dependency>
<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.11.3</version>
</dependency>
示例
@RestController
public class RequestBodyController {/**@RequestMapping注解不指定RequestMethod代表任意类型都支持* @param body* @return*/@RequestMapping("/useRequestBody")public String useRequestBody(@RequestBody(required = false) String body) {System.out.println("body: "+body);return body;}/*** 复杂类型参数* @param user* @return*/@RequestMapping("/getUser")public User getUser(@RequestBody(required = false) User user) {System.out.println("user: "+user);return user;}}class User {private String username;private String password;public String getUsername() {return username;}//get.. set.. 方法// toString()方法
}
访问/useRequestBody请求
application/x-www-form-urlencoded
后台打印
application/json
后台打印
访问/getUser请求
application/x-www-form-urlencoded
后台报错不支持的内容类型 ‘application/x-www-form-urlencoded;charset=UTF-8’
application/json
后台打印
@ResponseBody
用于用流输出响应正文,注解可以写在类或方法上
示例
@Controller
public class ResponseBodyController {@RequestMapping("useResponseBody")@ResponseBodypublic String useResponseBody(String name) {return name;}
}
@RestController
是@Controller和@ResponseBody的组合注解。它具备@Controller注解的全部功能,同时多了一个@ResponseBody注解的功能
@RestControllerAdvice
是@ControllerAdvice和@ResponseBody的组合注解。它和@ControllerAdvice注解的作用一样,并且支持@ResponseBody的功能
【SpringMVC注解篇】SpringMVC 注解驱动开发(二)JSON数据交互相关注解相关推荐
- 六、Springmvc json数据交互
editItem.jsp <script type="text/javascript">$(function(){alert(111);var params = '{& ...
- SpringMVC入门(二)—— 参数的传递、Controller方法返回值、json数据交互、异常处理、图片上传、拦截器
SpringMVC入门(二)-- 参数的传递.Controller方法返回值.json数据交互.异常处理.图片上传.拦截器 参考文章: (1)SpringMVC入门(二)-- 参数的传递.Contro ...
- 基于MTD的NAND驱动开发(二)
基于MTD的NAND驱动开发(二) 基于MTD的NAND驱动开发(三) http://blog.csdn.net/leibniz_zsu/article/details/4977853 http:// ...
- 番外篇——字符型驱动开发
[番外篇]字符型驱动开发 前言 开发简单的字符型驱动 前言 驱动程序在编译时需要依赖编译好的内核文件,如果内核文件和实际的开发板对不上,则很可能导致加载驱动失败.所以一旦对设备的内核或设备树进行了更改 ...
- (转)SpringMVC学习(十)——SpringMVC与前台的json数据交互
http://blog.csdn.net/yerenyuan_pku/article/details/72514022 json数据格式在接口调用中.html页面中比较常用,json格式比较简单,解析 ...
- SpringMVC的json数据交互
SpringMVC的json数据交互 @RequestBody 作用: @RequestBody注解用于读取http请求的内容(字符串),通过springmvc提供的HttpMessageConver ...
- springMVC之与json数据交互方法
2019独角兽企业重金招聘Python工程师标准>>> 因为我也要返回json数据.所以需要这个注解@ResponseBody,把Java对象转换成json字符串 注意: 1.@R ...
- springMVC JSON数据交互
1.引入jackson 2.编写POJO 3.编写Controller 3.1.javabean接收 3.2.Map接收 4.访问测试 4.1.设置基本请求参数 4.2.设置请求参数,发送请求 为实现 ...
- linux服务器开发二(系统编程)--线程相关
线程概念 什么是线程 LWP:Light Weight Process,轻量级的进程,本质仍是进程(在Linux环境下). 进程:独立地址空间,拥有PCB. 线程:也有PCB,但没有独立的地址空间(共 ...
- Spring注解驱动开发第10讲——在@Import注解中使用ImportBeanDefinitionRegistrar向容器中注册bean
写在前面 在前面的文章中,我们学习了如何使用@Import注解向Spring容器中导入bean,不仅可以使用@Import注解快速向容器中导入bean,也可以在@Import注解中使用ImportSe ...
最新文章
- VideoJet伟迪捷1000系列喷码机编程C#
- 四舍五入到小数点后两位[重复]
- linux 中卸载提示设备正忙怎么办?
- python 更改输出的颜色_python 输出指定的颜色
- 经常遇到的10大C语言基础算法(珍藏版源码)
- 由单例模式造成的内存泄漏
- 连通域标记——实现硬币自动计件
- c# maiform父窗体改变动态的gridew 奇偶行变色的快捷方法
- 服务器协议热更_汽车和电话的开放协议,以及更多开放源新闻
- Linux运维问题解决(2)——Linux设置定时重启系统的方法:定时任务crontab 和 编写脚本
- sysdate取年取月取日
- 创建多线程(8种方式)
- 搜索摄像头/录像机IP地址工具是什么
- ewebeditor
- Halcon之Variation Model
- 自制一个交叉适配器来检修网络设备(转)
- c语言用数字代表字母,使用c语言判断数字字母
- 深度 | AI芯片之智能边缘计算的崛起——实时语言翻译、图像识别、AI视频监控、无人车这些都需要终端具有较强的计算能力,从而AI芯片发展起来是必然,同时5G网络也是必然...
- 8B10B编解码的Verilog实现
- 前端行业发展和职业规划