J'utilise Spring Data Rest avec Spring Boot et j'ai une situation quelque peu étrange.Affichage des liens de relation pour @RestResource (exporté = false)
Nous avons besoin nos clients pour être en mesure d'afficher une ressource avec toutes ses relations dans un objet JSON, donc nous avons fait les relations que
@RestResource(exported = false)
, ce fut la seule solution que nous pourrions trouver, le hic est que nous perdons la liensnous essayons maintenant de créer une projection de cette ressource avec toutes ses relations affichées sous forme de liens
ce que nous avons essayé jusqu'à présent est de créer une projection avec la non-relation attributs ajoutés avec getXXX()
, puis utiliser un pour gérer les liens comme dans this question, mais nous ne pouvons pas sembler le faire fonctionner
Q: est-ce la meilleure façon d'aborder cela? Comment pouvons-nous ajouter des liens à des projections comme des ressources normales?
MISE À JOUR Voici donc ma classe de projection
@Projection(name = "fullSP", types = {SP.class})
public interface FullSP {}
et ceci est mon processeur
@Component
public class FullSPResourceProcessor implements ResourceProcessor<Resource<FullSP>> {
private final EntityLinks entityLinks;
@Autowired
public FullSPResourceProcessor(EntityLinks entityLinks) {
this.entityLinks = entityLinks;
}
@Override
public Resource<FullSP> process(Resource<FullSP> fullSPResource) {
FullSP fullSP= fullSPResource.getId();
fullSPResource.add(entityLinks.linkFor(Rate.class).withRel("rates"));
return fullSPResource;
}
}
mais cela ne fonctionne pas, cela ajoute juste un lien vers/taux en ressource non sous-ressource
un code aiderait - en particulier la projection et le processeur - peut-être aussi l'entité –
@MathiasDpunkt mis à jour ma question – engma