स्प्रिंग डेटा आरईएसटी का उपयोग करते समय इसमें विशेष रूप से इसके लिए कुछ डिज़ाइन किया गया है। अनुमान और अंश की धारणा है इसके साथ आप निर्दिष्ट कर सकते हैं कि आप इसे क्या और कैसे वापस करना चाहते हैं।
पहले आप एक इंटरफ़ेस बनाएंगे जिसमें केवल वही फ़ील्ड होंगे जो आप चाहते हैं।
@Projection(name="personSummary", types={Person.class})
public interface PersonSummary {
String getEmail();
String getId();
String getName();
}
फिर अपने PersonRepository
. पर इसे उपयोग करने के लिए डिफ़ॉल्ट के रूप में जोड़ें (केवल संग्रह वापस करने के तरीकों पर लागू होगा!)
@RepositoryRestResource(excerptProjection = PersonSummary.class)
public interface PersonRepository extends CrudRepository<Person, String> {}
फिर संग्रह के लिए एक क्वेरी करते समय आपको केवल प्रक्षेपण में निर्दिष्ट फ़ील्ड प्राप्त होंगे और एक ही उदाहरण प्राप्त करने पर आपको पूरी वस्तु मिल जाएगी।