实现多协议数据兼容。json、xml、x-saving(这个是自定义的)
1、@ResponseBody 响应数据出去 调用 RequestResponseBodyMethodProcessor 处理
2、Processor 处理方法返回值。通过 MessageConverter处理
3、所有 MessageConverter 合起来可以支持各种媒体类型数据的操作(读、写)
4、内容协商找到最终的 messageConverter
场景:
1、浏览器发请求直接返回 xml [application/xml] jacksonXmlConverter
2、如果是ajax请求 返回 json [application/json] jacksonJsonConverter
3、如果自定义app发请求,返回自定义协议数据 [appliaction/x-saving] xxxxConverter
属性值1;属性值2;
步骤:
1、添加自定义的MessageConverter进系统底层
2、系统底层就会统计出所有MessageConverter能操作哪些类型
3、客户端内容协商 [saving--->saving]
@ResponseBody//利用返回值处理器里面的消息转换器进行处理
@GetMapping("/test/person")
public Person getPerson(){
Person person = new Person();
person.setAge(21);
person.setBirth(new Date()