Java 将Jersey inputstream解析为JacksonObject

Java 将Jersey inputstream解析为JacksonObject,java,web-services,jersey,jackson,Java,Web Services,Jersey,Jackson,我使用Jersey/Jackson实现了一个REST WS。已实现的方法已被放置,并且在得到一个空的或空的正文之前,它工作正常 在谷歌搜索了一段时间后,我意识到这是一个已知的问题,有两个解决办法。我发现(并实现)的一个解决方法是使用ContentRequestFilter拦截调用、进行基本检查并决定要做什么 但在这种情况下,我必须检查调用是否针对该特定方法。我不喜欢这样,因为如果将来方法改变怎么办 我想要的是以InputStream而不是解析的JacksonObject(它是使用Jackson注

我使用Jersey/Jackson实现了一个REST WS。已实现的方法已被放置,并且在得到一个空的或空的正文之前,它工作正常

在谷歌搜索了一段时间后,我意识到这是一个已知的问题,有两个解决办法。我发现(并实现)的一个解决方法是使用ContentRequestFilter拦截调用、进行基本检查并决定要做什么

但在这种情况下,我必须检查调用是否针对该特定方法。我不喜欢这样,因为如果将来方法改变怎么办

我想要的是以InputStream而不是解析的JacksonObject(它是使用Jackson注释创建的自定义POJO对象)的形式接收,并解析InputStream来实现这一点。然而,我找不到一个引用来实现这一点,即解析输入流之外的jackson对象(基于输入媒体类型)并返回相应的对象


有人能告诉我一些有用的资源或在这里帮助我吗

这是一种从由资源处理的请求中获取内容的简单方法。只需将Map.class替换为带注释的POJO:

@POST
public void handle(String requestBody) throws IOException {
    ObjectMapper om = new ObjectMapper();
    Map result = om.readValue(requestBody, Map.class);
}

使用这种方法,您可以自由地以任何合适的方式处理空值。

您究竟如何称呼JacksonObject?它是使用Jackson注释创建的自定义对象