我创建了一个Spring Data Rest投影(不是摘录投影),只需要添加一些链接,因为这些链接与同一实体的其他投影或实体本身不具有重要意义。
据我所知,我们如何使用ResourceProcessor
我可以只添加指向实体的链接,是否可以仅为该投影添加链接?
答案 0 :(得分:17)
似乎可以创建专用于投影的ResourceProcessor
,我可以为每个投影创建一个ResourceProcessors
,为实体本身创建一个,并根据提到的投影调用它们在URL。
@Component
public class UserProjectionResourceProcessor
implements ResourceProcessor<Resource<UserProjection>> {
public static final String CANCEL_REL = "cancel";
@Autowired
private EntityLinks entityLinks;
@Override
public Resource<UserProjection> process(Resource<UserProjection> resource) {
UserProjection userProjection = resource.getContent();
resource.add(entityLinks.linkFor(User.class).withRel(CANCEL_REL));
return resource;
}
}