【Java Web开发学习】Spring MVC 使用HTTP信息转换器
2024-10-11 19:20:00
【Java Web开发学习】Spring MVC 使用HTTP信息转换器
转载:https://www.cnblogs.com/yangchongxing/p/10186429.html
@ResponseBody和@RequestBody是启用消息转换的一种简洁和强大方式
消息转换(message conversion)提供了一种更为直接的方式,它能够将控制器产生的数据转换为服务于客户端的表述形式。
择MappingJacksonHttpMessageConverter或MappingJackson2HttpMessageConverter
produces仅处理客户端Accept头部信息表明它接口application/json类型结果的请求,并且Jackson JSON在类路径下。消息转换器会将控制器返回的结果转换为JSON文档。
consumes仅处理客户端ContentType头部信息是application/json的请求,并且Jackson JSON在类路径下。消息转换器会将请求的JSON文档转换为控制器对象。
@RestController Spring将会为处理器的所有方法消息转换功能。
@RequestBody查找一个消息转换器,将来自客户端的资源表述转换为对象。
@RestController
public class IndexController {
@RequestMapping(value="/person", consumes="application/json", produces="application/json")
@ResponseBody
public Map<String, String> person(@RequestBody Person person) throws IOException {
System.out.println(person);
Map<String, String> data = new HashMap<String, String>();
data.put("status", "ok");
return data;
}
}
bean
public class Person {
private String name;
private String sex;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
测试html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<script src="node_modules/vue/dist/vue.js"></script>
<script src="node_modules/vue-resource/dist/vue-resource.js"></script>
<title>Document</title>
</head>
<body>
<div id="app">
<button type="button" value="click" @click="get()">click</button>
</div>
<script>
Vue.http.options.emulateJSON = true;
new Vue({ el:"#app",
methods:{
get:function(){
var person = {name:'tom',sex:'boy'};
this.$http.post(
'http://localhost:8080/mvc/person',
person,
{ emulateJSON:false})
.then(function(res){
alert(res.data); },function(res){
console.log(res);
});
}
} })
</script>
</body>
</html>
最新文章
- Jmeter实现登录bugfree、新建bug、解决bug脚本(抓包工具实现)
- centos6.6 安装jdk1.7
- 003-Tuple、Array、Map与文件操作入门实战
- c语言的学习秘籍
- javascript的队列,优先队列,循环队列
- 提高你的C#程序编码质量
- 1.C#基础篇-->;封装、继承和多态
- 收集内存信息(总量、可用、已用、百分比)导出到csv
- Sequence operation(线段树区间多种操作)
- lua 安装配置
- 利用PHP SOAP扩展实现简单Web Services
- ios的300ms点击延时问题
- angular学习笔记02 angular指令大全
- TensorFlow与OpenCV,读取图片,进行简单操作并显示
- C++ WString与String互相转换
- (原创)odoo在docker环境下无法备份
- HTTPS加密过程分析
- java crm 进销存 springmvc SSM 项目 源码 系统
- selenium自动化之切换iframe
- Windows Server 2012/2012 R2:安装和配置 SMTP 服务器
热门文章
- nyoj 204-Coin Test (python count)
- 用java实现“钉钉微应用,免登进入某H5系统首页“功能”
- Oracle数据库索引
- ASP.NET Core +Highchart+ajax绘制动态柱状图
- PHP基于Redis实现轻量级延迟队列
- Mybatis工作流程源码分析
- Xamarin.Forms学习系列之Android集成极光推送
- Vue组件通信之非父子组件传值
- 动态规划算法(java)
- PHP的常用字符串处理