如何向Spring Data REST投影添加链接?

9

我创建了一个Spring Data Rest投影(不是摘要投影),需要添加一些链接,但这些链接与相同实体的其他投影或实体本身没有显著关联。

据我所知,使用ResourceProcessor,我只能为实体添加链接,是否可能仅为该投影添加链接?

1个回答

17

看起来可以创建一个专门用于投影的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;
    }
}

4
process方法中从未使用userProjection变量。这是否与展示resource.getContent()方法有关? - GedankenNebel
Oliver先生,您能帮我们解答上述问题吗?谢谢! - Rafael Gomes Francisco
1
@GedankenNebel 我认为你是对的。UserProjection仅用于演示目的,因为您无法将Link添加到投影接口。您只能将Links添加到resources中。 - Charlie

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接