12

Glassfish4 使用 Moxy 将 REST 响应序列化为 JSON。有谁知道如何配置应用程序以使用 Jackson 而不是 Moxy?

4

2 回答 2

17

如果您想使用 Jackson 作为您的 JSON 提供程序,您需要在您的应用程序中注册JacksonFeature (通过注册此功能您禁用 MOXy 作为您的 JSON 提供程序)。

您可以在Application子类中执行此操作:

public class MyApplication extends Application {

    public Set<Class<?>> getClasses() {
        final Set<Class<?>> classes = new HashSet<Class<?>>();

        // Add root resources.
        classes.add(HelloWorldResource.class);

        // Add JacksonFeature.
        classes.add(JacksonFeature.class);

        return classes;
    }
}

或在ResourceConfig

final Application application = new ResourceConfig()
        .packages("org.glassfish.jersey.examples.jackson")
        .register(MyObjectMapperProvider.class)  // No need to register this provider if no special configuration is required.
        // Register JacksonFeature.
        .register(JacksonFeature.class);

有关更多信息,请参阅Jersey 用户指南中的Jackson部分。

于 2013-08-19T16:08:56.417 回答
4

Michal Gajdos 的回答是正确的,只是为了补充一点,在你的 pom.xml 中添加这个依赖,

<dependency>
    <groupId>org.glassfish.jersey.media</groupId>
    <artifactId>jersey-media-json-jackson</artifactId>
    <version>2.26</version>
</dependency>
于 2018-01-27T18:22:19.680 回答