1

私は自分のプロジェクト コードを Glassfish 4.0 post-JavaONE に移行していますが、eclipelink と moxy に maven コンパイルとバンドルの依存関係があることに気付きました。(どちらも現在 GS4 で提供されているはずです)。また、Moxy が JSON シリアライゼーションのデフォルトの JAXB プロバイダーになったため、このコンパイル/提供された依存関係を削除したいと考えています。ただし、属性プレフィックスに「@」を出力しないようにプロバイダーを構成する必要があります。

プロバイダーの反射ルックアップを行う以外に、コンパイル時の依存関係以外にこれを行う別の方法はありますか?

私が次のことをする前に...

MOXyJsonProvider moxyJsonProvider = new MOXyJsonProvider();
moxyJsonProvider.setAttributePrefix("");

私のアプリケーションでは。

4

1 に答える 1

0

MOXy の代わりに Jersey の依存関係を使用して、次のことを行うことができます。

import javax.ws.rs.ext.*;
import org.glassfish.jersey.moxy.json.MoxyJsonConfig;

@Provider
public class MOXyJsonContextResolver implements ContextResolver<MoxyJsonConfig> {

    private final MoxyJsonConfig config;

    public MOXyJsonContextResolver() {
        config = new MoxyJsonConfig()
            .setAttributePrefix("");
    }

    @Override
    public MoxyJsonConfig getContext(Class<?> objectType) {
        return config;
    }

}

詳細については


アップデート

あなたがこのアプローチを試みたが成功しなかったと述べた質問のコメントセクションで気づきました。あなたが試したことを投稿できますか?

于 2013-10-01T10:23:39.417 に答える