私たちは新しいプロジェクトを開始しており、spring-hateoas / hypermedia の使用を検討しています。HALブラウザも面白そうなので見てみたいと思いました。
ただし、HAL ブラウザーは spring-data-rest にバンドルされているようで、これは (さまざまな理由で) 使用したくありません。
少なくとも、すべてのリポジトリを rest-resource として自動公開することは望ましくありませんが、これを行う場合は、spring-hateoas でリンクを定義することに加えて、HAL ブラウザーのリンクを明示的に定義する必要があります。
リポジトリを自動公開しない場合、定義する必要があります
implements ResourceProcessor<RepositoryLinksResource>
と
@Override
RepositoryLinksResource process(RepositoryLinksResource resource) {
resource.add(link('/{id}').withRel('my-dummy'))
return resource
}
すでに定義されているリンクに加えて (hateoas を使用)
link('/{id}').expand(entity.id).withSelfRel()
これは面倒なようで、DRY 原則に準拠していません。これらのリンクはすでに別の場所で定義されているため、@Override メソッド RepositoryLinksResource プロセス (RepositoryLinksResource リソース) を実装したくありません。
私が最初に考えたのは、HAL ブラウザーは、hateoas で既に定義されているリンクを再利用するというものでした。しかし、私はそれを正しく理解していませんでしたか?
だから質問は
spring-data-rest を使用せずに、Spring バンドルされた HAL ブラウザーを使用する方法はありますか?
また、リポジトリを自動公開しない場合、HAL ブラウザーのリンクを手動で明示的に定義する必要はありませんか?