Bugzilla の Web サービスで動作する JSON インターフェイス/ライブラリを作成しています。
これは、注釈などを使用して可能ですか? それとも、このようなすべてのインスタンスに対してカスタム デシリアライザーを作成する必要がありますか?
いくつかの調査を試みたところ、Value Instantiator またはコンストラクターの使用に関する情報が見つかりましたが、コンストラクターの使用はアンチ Bean のようではありませんか? ドキュメントがまばらであるか、新しい機能では理解しにくいことがわかりました。
例:
public class Bug{
// Bug info, strings, ints, yadda yadda.
private User creator; // creator of the bug, json is like {"creator":"blahblah@email.com"}
}
public class User{
private String username;
}
//insert setter/getter.
1 つのフィールドに pojo を使用する理由は、この User クラスがより多くのフィールドを持つ別のクラスによって拡張されるためです。この効果を実現するためにコンストラクターを実装できますが、そうすると、他のすべてのサブクラスに対して同じコンストラクターを実装する必要があります。@JsonValue に似たものがあるように感じますが、設定用です(セッターで JsonCreator を試しましたが、以下と同じエラーが発生しました)。
「型 [単純型、クラス ユーザー] の値を文字列値からインスタンス化できません。単一の文字列コンストラクター/ファクトリ メソッドはありません」
ありがとう。