力Glassfish4使用杰克逊,而不是莫西

问题描述 投票:12回答:2

Glassfish4使用莫西序列化REST响应转换成JSON。有谁知道如何配置应用程序来使用,而不是杰克逊的莫西?

glassfish jersey jackson moxy
2个回答
15
投票

您需要在您的应用程序注册JacksonFeature如果你想用杰克逊为您的JSON提供商(通过注册该功能您禁用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);

Jackson泽西用户指南部分获取更多信息。


4
投票

由米哈尔Gajdos答案是正确的,只是要补充的,在你的pom.xml添加这种依赖关系,

<dependency>
    <groupId>org.glassfish.jersey.media</groupId>
    <artifactId>jersey-media-json-jackson</artifactId>
    <version>2.26</version>
</dependency>
© www.soinside.com 2019 - 2024. All rights reserved.