by35095 2016-01-11 08:21 采纳率: 0%
浏览 2653

jersey@Produces类型转换问题

问题描述:
@Produces(MediaType.APPLICATION_JSON) 报出
严重: Mapped exception to response: 500 (Internal Server Error)
javax.ws.rs.WebApplicationException: com.sun.jersey.api.MessageException: A message body writer for Java class java.lang.Integer, and Java type class java.lang.Integer, and MIME media type application/json was not found.

简单分析:jersey框架格式转换功能报出异常,无法完成json转换。可能受某个环境配置影响,在其他环境下没有该问题。
具体原因,在执行到jar包的某个类型匹配功能的class文件时,出现问题。具体如下:
private MessageBodyWriter _getMessageBodyWriter(Class c, Type t,
Annotation[] as,
MediaType mediaType, MediaType lookup,
Map> providers) {
List writers = providers.get(lookup);
if (writers == null)
return null;
for (MessageBodyWriter p : writers) {
if (p.isWriteable(c, t, as, mediaType)) {
return p;
}
}

    return null;
}
    即 匹配成功,执行return p时,无法退出循环,返回p。直到最后执行return null,导致问题
  • 写回答

1条回答 默认 最新

  • threenewbee 2016-01-20 20:41
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题