自定义HttpMessageConverter
来源:互联网 发布:帮开淘宝店铺 编辑:程序博客网 时间:2024/05/21 08:41
HttpMessageConverter是用来处理request和response里的数据的,我们可以自定义,用于类型转换。
自定义对象和字符串之间的转换:
public class MyMessageConverter extends AbstractHttpMessageConverter<DemoObj> { public MyMessageConverter(){ //设置我们新定义的媒体类型为application/x-wisely super(new MediaType("application","x-wisely", Charset.forName("UTF-8"))); } //标明本HttpMessageConverter只处理DemoObj这个类 @Override protected boolean supports(Class<?> aClass) { return DemoObj.class.isAssignableFrom(aClass); } //把中间用-隔开的数据转成DemoObj对象 @Override protected DemoObj readInternal(Class<? extends DemoObj> aClass, HttpInputMessage httpInputMessage) throws IOException, HttpMessageNotReadableException { String temp= StreamUtils.copyToString(httpInputMessage.getBody(),Charset.forName("UTF-8")); String[] tempArr=temp.split("-"); return new DemoObj(new Long(tempArr[0]),tempArr[1]); } //把DemoObj对象转化成字符串并输出到response中 @Override protected void writeInternal(DemoObj obj, HttpOutputMessage httpOutputMessage) throws IOException, HttpMessageNotWritableException { String out="hello:"+obj.getId()+"-"+obj.getName(); httpOutputMessage.getBody().write(out.getBytes()); }}添加自定义converter:
@Overridepublic void extendMessageConverters(List<HttpMessageConverter<?>> converters) { converters.add(converter());}示例:
@Controllerpublic class ConverterController { //接收字符串转化为对象,然后把对象又转化为字符串输出。 @RequestMapping(value="/convert",produces = {"application/x-wisely"}) public @ResponseBody DemoObj convert(@RequestBody DemoObj demoObj){ return demoObj; }}
<body> <div id="resp"></div><input type="button" onclick="req();" value="请求"/> <script src="assets/js/jquery.js" type="text/javascript"></script> <script> function req() { $.ajax({ url:"convert", data:"1-wangyunfei", type:"POST", contentType:"application/x-wisely", success:function (data) { $("#resp").html(data); } }); } </script></body>
阅读全文
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>
- Dockerfile中ENTRYPOINT的用法
- rxAndroid 学习一
- QT学习——没有找到mingwm10.dll的解决办法
- Android apk反编译
- JAVA基础(三)网络编程简介
- 自定义HttpMessageConverter
- Dockerfile中CMD和ENTRYPOINT的组合用法
- 字节流,缓冲流,字符流复制程序案例
- CSS 元素
- 【MyBatis学习01】宏观上把握MyBatis框架
- 机器学习基础-Knn分类器
- Dockerfile中COPY的用法
- JavaScript
- 【MyBatis学习02】走进MyBatis的世界