我创建了一个Spring Data Rest投影(不是摘要投影),需要添加一些链接,但这些链接与相同实体的其他投影或实体本身没有显著关联。
据我所知,使用ResourceProcessor
,我只能为实体添加链接,是否可能仅为该投影添加链接?
我创建了一个Spring Data Rest投影(不是摘要投影),需要添加一些链接,但这些链接与相同实体的其他投影或实体本身没有显著关联。
据我所知,使用ResourceProcessor
,我只能为实体添加链接,是否可能仅为该投影添加链接?
看起来可以创建一个专门用于投影的ResourceProcessor
,我可以创建3个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;
}
}
UserProjection
仅用于演示目的,因为您无法将Link
添加到投影接口。您只能将Links
添加到resources
中。 - Charlie