辣鸡框架,完全不建议使用。

我之前一直以为@BeanParam是用来获取json解析为pojo的,完全没想到会这么坑!

一、问题场景

我一开始看了官方文档,就觉得这个@BeanParam很有点像spring mvc中的@RequestBody啊!应该是用来获取json的吧。

后来我就这样写了一个方法:

一看就像是spring mvc中的标准接口吧!应该给他什么test的json就可以返回什么json吧!

结果无论怎么传json到接口,返回的全部都是空的json!

我里里外外找原因啊!

我重新检查了配置,加了各种注解,换了各种请求方法,忙了一个多小时,连放弃的心都有了,还是一点反应都没有!明明接口是可以访问的,为什么就是没反应,为什么呢?!

难道是@BeanParam这个注解有问题吗?

然后我又去查@BeanParam返回json为空的问题,结果发现stackoverflow上确实有这个问题的讨论,几个老外搞来搞去没有解决方法。国内则是根本没有这种话题,网上jersey2的中文资料太少了!

二、尝试解决

又折腾了一个小时,实在是弄不下去了!最后我把@BeanParam去掉,之后奇迹发生了:

json可以正常获取了!

因为当时已经是晚上很晚了,一搞出来我就赶紧去睡觉了,直到第二天才来回想昨天发生了什么。

三、问题原因

官方文档:

2

看起来超像专门解析json的是不是,当时我一眼就觉得应该是像spring mvc中的@RequestBody那样使用了!结果最后发现是我想多了!

完全不是这么一回事,jersey2更人性化一些,直接就能解析json,什么注解都不用加!

四、总结

如果一个方法不行,不要直接去找原因,试试先去掉看看有什么影响。

就很生气!实在是浪费了太多的时间来买这个教训!

发表评论

电子邮件地址不会被公开。 必填项已用*标注