Glassfish4正在使用Moxy将REST响应序列化为JSON。有谁知道如何配置应用程序使用Jackson而不是Moxy?
答案 0 :(得分:15)
如果您想将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);
有关详细信息,请参阅“泽西用户指南”中的Jackson部分。
答案 1 :(得分:4)
Michal Gajdos的回答是正确的,只是为了补充一点,在你的pom.xml中添加这个依赖,
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
<version>2.26</version>
</dependency>