2015-01-25 5 views
7

मैंने एक स्प्रिंग डेटा रेस्ट प्रक्षेपण (एक अंश प्रक्षेपण नहीं) बनाया है और इसके लिए कुछ लिंक जोड़ने की आवश्यकता है क्योंकि इन लिंकों को एक ही इकाई के अन्य अनुमानों के साथ ही इकाई के साथ महत्व नहीं है।स्प्रिंग डेटा आरईएसटी अनुमानों के लिंक कैसे जोड़ें?

हम ResourceProcessor का उपयोग करके मुझे यह कैसे कर सकते हैं, मैं केवल इकाइयों के लिंक जोड़ सकता हूं, क्या केवल उस प्रक्षेपण के लिए लिंक जोड़ना संभव है?

उत्तर

13

यह यह सिर्फ एक ResourceProcessor एक प्रक्षेपण के लिए समर्पित है और मैं 3 ResourceProcessors इकाई खुद के लिए प्रत्येक प्रक्षेपण के लिए और एक बना सकते हैं और वे पर निर्भर करते हुए प्रक्षेपण यूआरएल में बताया गया है कहा जाता हो बनाने के लिए संभव है लगता है।

@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

उपयोगकर्ता प्रोजेक्शन का उपयोग प्रक्रिया विधि के अंदर कभी नहीं किया जाता है। क्या यह संसाधन.getContent() विधि का प्रदर्शन करने का मामला है? – GedankenNebel

+0

मिस्टर ओलिवर, क्या आप उपरोक्त प्रश्न के साथ हमारी मदद कर सकते हैं? टी.के.एस! –

+1

@GedankenNebel मुझे लगता है कि आप सही हैं। 'प्रयोजन प्रोजेक्शन' का प्रयोग प्रदर्शन उद्देश्यों के लिए किया जाता है क्योंकि आप प्रोजेक्शन इंटरफ़ेस में 'लिंक' जोड़ नहीं सकते हैं। आप केवल 'संसाधन' में 'लिंक' जोड़ सकते हैं –

संबंधित मुद्दे