码迷,mamicode.com
首页 > 移动开发 > 详细

cxf maven 依赖 No message body writer foud.. contenttype:application/json

时间:2018-07-26 15:13:40      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:风格   end   pac   pid   问题   produce   media   返回   格式   

最近使用cxf发布rest服务时遇到了如题的异常,最后发现是缺少依赖的问题.ps:我并没有使用spring

cxf基本运行需要如下依赖

 1         <dependency>
 2             <groupId>org.apache.cxf</groupId>
 3             <artifactId>cxf-core</artifactId>
 4             <version>${cxf.version}</version>
 5         </dependency>
 6           <dependency>
 7             <groupId>org.apache.cxf</groupId>
 8             <artifactId>cxf-rt-frontend-jaxws</artifactId>
 9             <version>${cxf.version}</version>
10         </dependency>
11         <dependency>
12             <groupId>org.apache.cxf</groupId>
13             <artifactId>cxf-rt-transports-http</artifactId>
14             <version>${cxf.version}</version>
15         </dependency>
16         <dependency>
17             <groupId>org.apache.cxf</groupId>
18             <artifactId>cxf-rt-transports-http-jetty</artifactId>
19             <version>${cxf.version}</version>
20         </dependency>

如果想要发布rest风格的服务,需要添加如下依赖(看各人需要,有的可能需要添加rs-api的依赖)

 1         <!-- rest风格支持 -->
 2         <dependency>
 3             <groupId>org.apache.cxf</groupId>
 4             <artifactId>cxf-rt-frontend-jaxrs</artifactId>
 5             <version>${cxf.version}</version>
 6         </dependency>
 7         <dependency>
 8             <groupId>org.apache.cxf</groupId>
 9             <artifactId>cxf-rt-rs-extension-providers</artifactId>
10             <version>${cxf.version}</version>
11         </dependency>

这样就可以发布rest风格的服务了,不过这样有个问题,只能使用xml格式的数据,如果使用下面的注解,即添加json格式的返回数据访问时会报如题的no message body writer的异常

@Produces({MediaType.APPLICATION_XML,MediaType.APPLICATION_JSON})

所以需要添加如下依赖

1         <!-- json支持 -->
2         <dependency>
3             <groupId>org.codehaus.jettison</groupId>
4             <artifactId>jettison</artifactId>
5             <version>${jettison.version}</version>
6         </dependency>

技术分享图片

 

总结:出现no message body writer时先检查pojo上是否添加了jaxb的必要标记----@XmlRootElement,其次检查是否缺少依赖关系

 

cxf maven 依赖 No message body writer foud.. contenttype:application/json

标签:风格   end   pac   pid   问题   produce   media   返回   格式   

原文地址:https://www.cnblogs.com/tele-share/p/9371084.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!