找不到Restful MessageBodyWriter

时间:2014-11-28 07:47:11

标签: java json rest glassfish media-type

我正致力于Restful服务。我们搬到Glassfish 4.1后发生了这个问题。错误字符串是:

严重:找不到媒体类型= application / xml的MessageBodyWriter,类型= ...

但我的类使用application / json。这是一个例子:

@Path("get_customer_info")
@Consumes("application/json;charset=utf8")
public class CustomerInfoResource {

    @Context
    private UriInfo context;

    public CustomerInfoResource () {
    }

    @POST
    public Player getPlayerInfo(){
    ....
    }
}

我做了以下事情但无法解决: 添加了所有球衣罐2.13版,杰克逊罐2.4.3。还添加了包含org.glassfish.jersey.jackson.JacksonFeature类的jersey-media-json-jackson-2.13.jar。顺便说一下ApplicationConfig类是:

@javax.ws.rs.ApplicationPath("resources")
public class ApplicationConfig extends Application {

    @Override
    public Set<Class<?>> getClasses() {
        Set<Class<?>> resources = new java.util.HashSet<Class<?>>();
        try {
            Class jsonProvider = Class.forName("org.glassfish.jersey.jackson.JacksonFeature");
            resources.add(jsonProvider);
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(getClass().getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        addRestResourceClasses(resources);
        return resources;
    }

1 个答案:

答案 0 :(得分:0)

我想你已经在MessageBodyReader实现中提到了@Consumes(&#34; application / json&#34;)。我已经用@Produces编写了一些自定义的MessageBodyWriter。它对我来说很好。我希望在MessageBodyReader

的情况下,这对你也有用

参考:http://h2labz.blogspot.in/2014/12/marshalling-java-to-json-in-jax-rs.html