3
我使用spring-data-rest 2.4.1將實體公開爲其他資源。從ResourceProcessor摘錄投影和自定義鏈接
我還實施了ResourceProcessor
到自定義鏈接添加到資源
@Component
public class MyEntityResourceProcessor implements ResourceProcessor<Resource<MyEntity>> {
@Override
public Resource<MyEntity> process(Resource<MyEntity> resource) {
resource.add(linkTo(methodOn(CustomController.class).getFeatures(resource.getContent().getId())).withRel("customRel"));
return resource;
}
}
也能正常工作的單項資源。但我也已經建立了ExcerptProjection減少在收集資源屬性顯示:
@Projection(name = "myExcerptProjection", types = MyEntity.class)
interface MyExcerptProjection {
String getName();
String getSlogan();
}
當使用投影我MyEntityResourceProcessor
不使用,自定義鏈接丟失。
我可以在鏈接帶來通過實施ResourceProcessor的投影像這樣:
public class MyEntityProjectionResourceProcessor implements ResourceProcessor<Resource<MyExcerptProjection>>
但我想避免這種情況的原因是:
- 是重複代碼
- 和我在投影中缺少實體ID,因此無法生成鏈接
任何想法如何讓一個ResourceProcessor也適用於我的ExcerptProjection?