0

JSON 応答を使用できる REST クライアントを (Java で - RestEasy を使用して) 作成する必要があります。JSON 応答を Java 型に変換する残りのクライアント (またはラッピング サービス) の必要性に関して、次のオプションがあると思います。
2. JAXB アノテーション付き POJO を jackson と組み合わせて使用​​し、json 応答をオブジェクトに自動的にバインドします。

2 に関して、XSD を定義して JAXB アノテーション付き POJO を生成することは望ましい/正しいですか? XML クライアントによる再利用など、これを行う利点があります。

ありがとう。

4

1 に答える 1

1

私は#2のファンです。

その理由は、JAXB アノテーション付きモデル オブジェクトは本質的に、トランスポート レベルで表現しようとしているビジネス/ドメイン ロジックのコントラクトであり、POJO は明らかにゲッター/セッターの検証を優れた制御を提供し、要素を制御できるからです。細かい粒度の名前と名前空間。

そうは言っても、トランスポート層をドメインオブジェクトから分離するために、POJO の追加の「内部」モデル (必要に応じて、問題の複雑さ/プロジェクトの範囲に応じて) を用意するのが好きです。また、ビジネス/ドメイン オブジェクト表現の内部で物事を変更する必要がある場合でも、トランスポート層に直接結び付けられていないという、温かい気持ちになります。同僚は、Bean を Bean にマッピングするためのツールであるDozerについて言及しましたが、これ以上コメントする直接的な経験はありません。

私は XSD からコードを生成するのが好きではありません。多くの場合、コードは醜いかまったく読めません。変更を管理しますが、微妙または取るに足らないものであっても、予期しない結果が生じる可能性があります。たぶん私はそれについて間違っているかもしれませんが、実証済みのモデルでの優れた単体テストが必要です。

これは、毛むくじゃらの XML-over-HTTP (REST とは呼びません) API を使用して顧客向け SDK を作成した私の個人的な経験に基づいています。JAXB/Jackson のアノテーション付き POJO により、比較的簡単に作業できました。それが役立つことを願っています。

于 2013-02-07T04:56:06.610 に答える