2016-03-21 7 views
0

私は安らかなAPIに取り組んでいます。私は、RESTのバージョン管理を満たすために、バージョンの構造を「ロック」するソリューションを探しています。安心なエンティティのバージョン管理

私のプロジェクトでは、JAX-RSとJPAを使用しています。私のJPAエンティティが頻繁に変更されますが、これらの変更が自動的に公開されることは望ましくありません。私はソリューションがDTO(Data Transfer Ojbect)になる可能性があることを知っています。これは多くのクラスを追加し、投資の価値があるかどうかはわかりません。

これを達成するためのより良い/より簡単なソリューションがありますか、またはDTOだけが唯一の方法ですか?

+3

勝利のためのDTO。それ以外の場合は、内部構造をリークする必要がありますし、言及したように、アプリケーションの内部構造が変更される傾向があり、あなたのAPIを変更したくありません。 – Augusto

答えて

4

簡単に言えば、DTOが行く方法です。それはあなたのAPIとモデルを独立させる方法です。時には、モデル(JPA)クラスがREST API(例えば、循環オブジェクトの依存関係がある場合)によって公開されない場合もあります。 DTOはオーバーヘッドのように見えるかもしれませんが、それはモデルをきれいに保つための唯一の方法です(つまり、プレゼンテーションレイヤーには無関心です - モデルをプレゼンテーションする方法はRESTと思われます)。 RESTful APIを介してクラスを公開するには、しばしばモデルにいくつかの特定の注釈を追加する必要があります。それらを直接モデル化することは、それを汚染するだけです。

関連する問題