抛出异常时找不到媒体类型= text / xml或type = text / plain的MessageBodyWriter

时间:2018-01-26 23:43:08

标签: json jackson glassfish

我收到了例外

  

“MessageBodyProviderNotFoundException:找不到媒体类型= text / xml的MessageBodyWriter,类型= class ...”

从Glassfish 4.1上的应用程序中抛出异常时。

在激活杰克逊而不是Moxy / Jaxb之前一切都很好。

1 个答案:

答案 0 :(得分:-1)

验证您的MessageBodyWriterAdater是否与您的服务/方法生成相同的媒体类型。

它们必须保持一致,否则您只需为不支持的类型编写其他MessageBodyWriterAdapter。

e.g。

@Produces(MediaType.APPLICATION_JSON)
public abstract class JsonMessageBodyWriterAdapter<T> implements MessageBodyWriter<T> { ...
}

@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
@Path("xxx")
public class XxxBs {

    @POST
    public void create(@NotNull final XxxDO xxxDo) throws ResponseException {
        // do something
    }
}