自定义HttpMessageConverter
来源:互联网 发布:徐老师淘宝店的地址 编辑:程序博客网 时间:2024/06/06 19:27
1.继承AbstractHttpMessageConverter类
2.构造函数新建媒体类型
3.重写readInternal方法,处理请求参数
4.重写supports方法,表示该MessageConverter只处理该对象
5.重写writeInternal方法,处理数据输出到页面上
package com.lebron.springmvc;import java.io.IOException;import java.nio.charset.Charset;import org.springframework.http.HttpInputMessage;import org.springframework.http.HttpOutputMessage;import org.springframework.http.MediaType;import org.springframework.http.converter.AbstractHttpMessageConverter;import org.springframework.http.converter.HttpMessageNotReadableException;import org.springframework.http.converter.HttpMessageNotWritableException;import org.springframework.util.StreamUtils;public class MyDateMessageConverter extends AbstractHttpMessageConverter<MyDate>{ public MyDateMessageConverter(){ super(new MediaType("application", "my-date", Charset.forName("UTF-8"))); } @Override protected MyDate readInternal(Class<? extends MyDate> clazz, HttpInputMessage inputMessage) throws IOException, HttpMessageNotReadableException { String temp = StreamUtils.copyToString(inputMessage.getBody(), Charset.forName("UTF-8")); String[] tempArr = temp.split("/"); return new MyDate(new Integer(tempArr[0]),new Integer(tempArr[1]),new Integer(tempArr[2])); } @Override protected boolean supports(Class<?> clazz) { return MyDate.class.isAssignableFrom(clazz); } @Override protected void writeInternal(MyDate myDate, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException { String out = myDate.getYear() + "/" + myDate.getMonth() + "/" + myDate.getDay(); outputMessage.getBody().write(out.getBytes()); }}
6.重写extendMessageConverters方法,将转换器添加到转换器链中(重写configureMessageConverters方法会覆盖内置的所有转换器,所以不推荐)
@Beanpublic MyMessageConverter myMessageConverter(){ return new MyMessageConverter();}@Overridepublic void extendMessageConverters(List<HttpMessageConverter<?>> converters) { converters.add(new MyMessageConverter());}
阅读全文
0 0
- 自定义HttpMessageConverter
- 自定义HttpMessageConverter
- HttpMessageConverter
- HttpMessageConverter
- HttpMessageConverter
- HttpMessageConverter
- HttpMessageConverter
- HttpMessageConverter
- httpMessageConverter
- 自定义HttpMessageConverter接受JSON格式的数
- 自定义HttpMessageConverter接受JSON格式的数据
- 自定义HTTPMessageConverter接收JSON格式的数据
- Spring 自定义HttpMessageConverter实现MongoDb自定义ObjectId对象为字符串
- Spring MVC4.1-Spring MVC的配置(含自定义HttpMessageConverter)
- SpringMVC 修炼手册 part4 自定义转换器以及HttpMessageConverter转换器
- 使用自定义HttpMessageConverter对返回内容进行加密
- 14-SpringBoot——Spring MVC基础-自定义HttpMessageConverter
- HttpMessageConverter<T>
- 最会戴帽子的关键字-----extern
- baidu-map2
- webpack构建react应用三:使用webpack Loaders 模块加载器(一)
- 二维数组指针,二维数组作参数函数调用简单实例(c/c++)
- zTree应用实例详讲(3)
- 自定义HttpMessageConverter
- QT之QFile
- Java多线程____线程状态Sleep()方法
- 初探Architecture Components之Lifecycle
- 淘宝MySQL地址
- jquery如何将json数据转成json对象
- Python Numpy Oldnumeric
- 简约而不简单的Django新手图文教程
- 一个字段有多个值,同时count出来