强制Glassfish4使用杰克逊代替Moxy

lst*_*iak 12 glassfish jersey jackson moxy

Glassfish4正在使用Moxy将REST响应序列化为JSON.有谁知道如何配置应用程序使用杰克逊而不是Moxy?

Mic*_*dos 16

如果要将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;
    }
}
Run Code Online (Sandbox Code Playgroud)

或者在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);
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅Jersey用户指南中的Jackson部分.