2013-08-19 8 views

答えて

9

ジャクソンをJSONプロバイダとして使用する場合(この機能を登録することで、MOXyをJSONプロバイダとして使用する)、アプリケーションにJacksonFeatureを登録する必要があります。

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セクションを参照してください

あなたはそれがいずれかのApplicationサブクラスで行うことができます。ミハルGajdosによって

+0

ジャクソンクラスの場所はどこにありますか? – Dejell

+1

'JacksonFeature'は' org.glassfish.jersey.media:jersey-media-json-jakson'にあります。このモジュールはJackson 1.9.xにそれをもたらします。 Jackson 2.xを使いたいのであれば、 'com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider'に依存関係を追加するだけです。これは' META-INF/services'メカニズムのおかげで自動的に有効になります。 –

+0

MavenビルドでGlassFish 4でこれを達成するための完全な手順は、[この回答](http://stackoverflow.com/questions/23730062/use-iso-8601-dates-in-jax-rs-responses)を参照してください。 –

0

回答は

<dependency> 
    <groupId>org.glassfish.jersey.media</groupId> 
    <artifactId>jersey-media-json-jackson</artifactId> 
    <version>2.26</version> 
</dependency> 

がコメントするのに十分なクレジットをお持ちでない、ただ、それに追加のpom.xmlにこの依存関係を追加するには、正しいです。

関連する問題