4

有没有人设法将 Jackson 2.0 与 Jersey 1.12 一起使用。知道会很有趣。我们必须到处使用jackson 1.9.x,因为jersey 有jackson 如此强耦合。从我所见,即使是球衣 2.0M3 仍在使用杰克逊 1.9.2。因此,似乎没有必要等待球衣队在不久的将来这样做。

4

3 回答 3

4

自定义提供程序有效;和“官方”Jackson 2.0 JSON 提供程序项目也是如此,具有更多功能(能够@JsonView在资源方法上使用注释和其他一些功能)。

这是 JAX-RS 的优点之一:一切都是模块化的,添加新的改进提供程序非常容易。

于 2012-05-20T04:41:49.467 回答
1

我的项目中有 Jackson 2.0 和 Jersey 1.12。我对此没有任何问题,但可能的原因是我有自定义 Provider 和一些额外的 ObjectMapper 设置。简化版:

import javax.ws.rs.ext.ContextResolver;
import javax.ws.rs.ext.Provider;

import com.fasterxml.jackson.databind.ObjectMapper;

@Provider
public class ObjectMapperProvider implements ContextResolver<ObjectMapper> {

    private final ObjectMapper defaultObjectMapper;

    public ObjectMapperProvider() {
        defaultObjectMapper = new ObjectMapper();
    }

    @Override
    public ObjectMapper getContext(Class<?> type) {
        return defaultObjectMapper;
    }
}
于 2012-05-19T21:12:13.017 回答
-1

如果您尝试将 JsonView 与 Jersey 一起使用,如果您在此处使用方法 2.2,则必须使用 org.codehaus.jackson.map.annotate.JsonView:http ://wiki.fasterxml.com/JacksonFAQJaxRs

如果要使用com.fasterxml中的JsonView,则必须在该页面上使用通用方法(1)。

于 2013-01-11T20:51:39.623 回答