博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自定义HttpMessageConverter
阅读量:4229 次
发布时间:2019-05-26

本文共 1561 字,大约阅读时间需要 5 分钟。

HttpMessageConverter是用来处理request和response里的数据的,我们可以自定义,用于类型转换。

自定义对象和字符串之间的转换:

public class MyMessageConverter extends AbstractHttpMessageConverter
{ 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
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
> converters) { converters.add(converter());}
示例:

@Controllerpublic class ConverterController {    //接收字符串转化为对象,然后把对象又转化为字符串输出。    @RequestMapping(value="/convert",produces = {
"application/x-wisely"}) public @ResponseBody DemoObj convert(@RequestBody DemoObj demoObj){ return demoObj; }}
    

转载地址:http://fljqi.baihongyu.com/

你可能感兴趣的文章
2021-06-04
查看>>
最长无重复子数组
查看>>
Dual-Primal Graph Convolutional Networks 对偶-原始图卷积神经网络
查看>>
GoGNN: Graph of Graphs Neural Network for Predicting Structured Entity Interactions
查看>>
Estimating Node Importance in Knowledge Graphs Using Graph Neural Networks
查看>>
DiffPool: Hierarchical Graph Representation Learning with Differentiable Pooling
查看>>
MuchGCN:Multi-Channel Graph Convolutional Networks
查看>>
kernel_size为1的卷积核与全连接层的关系
查看>>
STRATEGIES FOR PRE-TRAINING GRAPH NEURAL NETWORKS
查看>>
PAT_A 1010. Radix (25)
查看>>
PAT_A 1005. Spell It Right (20)
查看>>
PAT_A 1012. The Best Rank (25)
查看>>
PAT_A 1013. Battle Over Cities (25)
查看>>
PAT_A 1015. Reversible Primes (20)
查看>>
SetWindowLong函数介绍
查看>>
百度云cdn,bos设置
查看>>
[chrome]好用的chrome Json 格式化插件
查看>>
[Android]hex 64k解决
查看>>
[iphone]调出来控制的小圆球(控制点)
查看>>
[react-native]prop,state对比
查看>>