0

私が現在取り組んでいるプロジェクトではorg.springframework.hateoas.ResourceSupport、オブジェクトにリンクを追加できるように、Springs を拡張することで REST API を介した HAL サポートを取得しています。

簡単な例:

public class MyDataRepresentation extends ResourceSupport {
    private String name;
}

Web レイヤーで、表現にリンクを追加できます。

MyDataRepresentation myData = someService.getTheData();
myData.add(new Link(someUrl, someRel));

すべて順調です。

問題は、これを達成するために、ドメイン オブジェクト (MyData) を直接再利用し、Web 表現レイヤーに別のクラスを作成しないことです。この理由は、この特定のケースでの私のアプリケーションは、ドメイン オブジェクトを直接使用できるほど単純であり、ハンドコーディングまたはマッピングを使用して、Web レイヤーとの間でマッピング ロジックを変換することを避けたいからです。道具。マッピング ロジックに対するもう 1 つの反論は、ビジネス ロジックがしばしばマッピング ロジックに忍び込み、ビジネス ロジックを理解するのがさらに難しくなるということです。

ドメインクラスは次のとおりです。

public class MyData {
    private String name;
}

残念ながら、これでは HAL リンクを添付する場所がありません。

私の質問は、Java 用の HAL フレームワークがあり、「拡張」を使用して Web/ドメイン マッピング ロジックのルートを強制することなく、Web レイヤーでドメイン オブジェクトを直接再利用できるかどうかです。

これを可能にするSpringでHALサポートを使用する他の方法はありますか? Jersey での HAL サポートはどうですか?

4

0 に答える 0