4

Jersey 1.12でjackson 2.0を使用できた人はいますか? 知ることは非常に興味深いでしょう。ジャージーがジャクソンと非常に強く結びついているという理由だけで、あらゆる場所でジャクソン 1.9.x を使用する必要があります。私が見た限りでは、ジャージー 2.0M3 でさえまだ jackson 1.9.2 を使用しています。したがって、ジャージチームが近い将来それを行うのを待つ意味はないようです.

4

3 に答える 3

4

カスタムプロバイダーは機能します。「公式の」Jackson2.0JSONプロバイダープロジェクトも同じように機能しますが、機能が少し増えています(@JsonViewリソースメソッドでアノテーションやその他のいくつかの機能を使用できます)。

これは、JAX-RSの優れた点の1つです。すべてがモジュール式であり、新しく改善されたプロバイダーを追加するのは非常に簡単です。

于 2012-05-20T04:41:49.467 に答える
1

私のプロジェクトにはJackson2.0とJersey1.12があります。問題はありませんでしたが、おそらく理由は、いくつかの追加のObjectMapper設定を備えたカスタムプロバイダーがあったためです。簡略化されたバージョン:

import javax.ws.rs.ext.ContextResolver;
import javax.ws.rs.ext.Provider;

import com.fasterxml.jackson.databind.ObjectMapper;

@Provider
public class ObjectMapperProvider implements ContextResolver<ObjectMapper> {

    private final ObjectMapper defaultObjectMapper;

    public ObjectMapperProvider() {
        defaultObjectMapper = new ObjectMapper();
    }

    @Override
    public ObjectMapper getContext(Class<?> type) {
        return defaultObjectMapper;
    }
}
于 2012-05-19T21:12:13.017 に答える
-1

JsonView を Jersey で使用しようとしている場合、ここでメソッド 2.2 を使用する場合は、org.codehaus.jackson.map.annotate.JsonView を使用する必要があります: http://wiki.fasterxml.com/JacksonFAQJaxRs

com.fasterxml から JsonView を使用する場合は、そのページの一般的な方法 (1) を使用する必要があります。

于 2013-01-11T20:51:39.623 に答える