2015-01-25 17 views
7

Bir Spring Data Rest projeksiyonu oluşturdum (bir alıntı izdüşümü değil) ve yalnızca bu bağlantılar, aynı varlığın diğer izdüşümleriyle veya varlığın kendisi ile anlamlı olmadığı için bazı bağlantılar eklemem gerekiyor.Yay Verisi REST projeksiyonlarına nasıl link eklenir?

Bunu, ResourceProcessor kullanarak bildiğim kadarıyla nasıl yapabilirim? Yalnızca varlıklar için bağlantılar ekleyebilirim, yalnızca bu projeksiyon için bağlantılar eklemek mümkün müdür?

cevap

13

Sadece bir projeksiyona adanmış bir ResourceProcessor oluşturmak mümkün görünüyor ve ben her projeksiyon için bir tane ve bir tane kendisi için bir tane oluşturmak için 3 ResourceProcessors bir tane oluşturmak ve URL'de belirtilen projeksiyona bağlı olarak çağrılırlar.

@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

userProjection, hiçbir zaman işlem yönteminin içinde kullanılmaz. Bu, resource.getContent() yöntemini gösterme meselesi midir? – GedankenNebel

+0

Mister Oliver, yukarıdaki soruyla bize yardımcı olabilir misiniz? Tks! –

+1

@GedankenNebel Sanırım haklısınız. "UserProjection", gösterim amacıyla bir projeksiyon arabirimine "Link" ekleyemediğinden kullanılır. Sadece "Linkler" i "kaynaklar" a ekleyebilirsiniz –

İlgili konular