【Java Web开发学习】Spring MVC 使用HTTP信息转换器
@ResponseBody和@RequestBody是启用消息转换的一种简洁和强大方式
消息转换(message conversion)提供了一种更为直接的方式,它能够将控制器产生的数据转换为服务于客户端的表述形式。
择MappingJacksonHttpMessageConverter或MappingJackson2HttpMessageConverter
produces仅处理客户端Accept头部信息表明它接口application/json类型结果的请求,并且Jackson JSON在类路径下。消息转换器会将控制器返回的结果转换为JSON文档。
consumes仅处理客户端ContentType头部信息是application/json的请求,并且Jackson JSON在类路径下。消息转换器会将请求的JSON文档转换为控制器对象。
@RestController Spring将会为处理器的所有方法消息转换功能。
@RequestBody查找一个消息转换器,将来自客户端的资源表述转换为对象。
@RestControllerpublic classIndexController {
@RequestMapping(value="/person", consumes="application/json", produces="application/json")
@ResponseBodypublic Map person(@RequestBody Person person) throwsIOException {
System.out.println(person);
Map data = new HashMap();
data.put("status", "ok");returndata;
}
}
bean
public classPerson {privateString name;privateString sex;publicString getName() {returnname;
}public voidsetName(String name) {this.name =name;
}publicString getSex() {returnsex;
}public voidsetSex(String sex) {this.sex =sex;
}
}
测试html
Document
click