【问题标题】:How to use Jackson with Jersey 2.8?如何在 Jersey 2.8 中使用 Jackson?
【发布时间】:2014-10-15 02:00:10
【问题描述】:

我正在使用 Jersey 1.x 现在我正在迁移到 Jersey 2.x

我现在面临的问题是在 Jersey 2.8 中使用 Jackson(JSON 提供程序)

告诉我怎样才能摆脱这个问题。我将使用 Jersey 2.8 那么如何使用 Jackson 呢。

【问题讨论】:

    标签: jersey-2.0


    【解决方案1】:

    在这里我找到了我的问题的解决方案。

    我唯一需要做的就是将 Jackson 提供程序和 ContextResolver 注册到 ObjectMapper..

    @提供者

    公共类 UserObjectProvider 实现 ContextResolver {

    final ObjectMapper defaultObjectMapper;
    final ObjectMapper combinedObjectMapper;
    
    public UserObjectProvider () {
        defaultObjectMapper = createDefaultMapper();
        combinedObjectMapper = createCombinedObjectMapper();
    }
    
    @Override
    public ObjectMapper getContext(Class<?> type) {
        if (type == CombinedAnnotationBean.class) {
            return combinedObjectMapper;
        } else {
            return defaultObjectMapper;
        }
    }
    
    private static ObjectMapper createDefaultMapper() {
        final ObjectMapper result = new ObjectMapper();
        result.configure(Feature.INDENT_OUTPUT, true);
    
        return result;
    }
    
    // ...
    

    }

    现在注册您的 Jackson 提供商。

    最终应用程序 application = new ResourceConfig().register(UserObjectProvider.class)
    .register(JacksonFeature.class);

    谢谢

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-17
      • 1970-01-01
      • 1970-01-01
      • 2014-01-01
      相关资源
      最近更新 更多