2016-01-24 13 views
7

के साथ संसाधन आईडी का पर्दाफाश कैसे करें I इकाई में @Id के साथ एनोटेट की गई प्राथमिक कुंजी का खुलासा करना था। आईडी फ़ील्ड केवल संसाधन पथ पर दिखाई दे रही है, लेकिन JSON बॉडी पर नहीं।स्प्रिंग डेटा रेस्ट

उत्तर

7

आप इसे इकाई स्तर पर RepositoryRestConfigurerAdapter का उपयोग करके कॉन्फ़िगर कर सकते हैं। एसडीआर को बढ़ावा देता है हाइपरमीडिया लिंक का उपयोग कर संसाधनों के बीच नेविगेट करके एपीआई का उपयोग करने में सक्षम हो - -

@Configuration 
public class ExposeEntityIdRestConfiguration extends RepositoryRestConfigurerAdapter { 

    @Override 
    public void configureRepositoryRestConfiguration(RepositoryRestConfiguration config) { 
     config.exposeIdsFor(MyEntity.class); 
    } 
} 

बारे में पता यह आप वसंत-डेटा-आराम के सिद्धांतों के खिलाफ काम कर रहे हैं का उपयोग कर रखी है यहाँ अपने संसाधनों की पहचान की और से संदर्भित कर रहे हैं लिंक और इस प्रकार ids अब और जरूरत नहीं है। अपने क्लाइंट पर आईडी का उपयोग क्लाइंट को संसाधनों के लिंक बनाने की जटिलता को धक्का देता है। और ग्राहक को इस ज्ञान से परेशान नहीं होना चाहिए।

+4

क्या आपकी सभी इकाइयों की आईडी को एक बार में बेनकाब करने का कोई तरीका है? उदा कॉन्फ़िगरेशन में सेटिंग? – thorinkor

+0

मैं सभी संस्थाओं के लिए एक बार में यह कैसे कर सकता हूं? हमारे पास इस मॉड्यूल के बारे में बहुत कुछ पैकेज नहीं है। – BigDong

0

सबसे अच्छा समाधान आपकी इकाइयों की आईडी का उपयोग नहीं करना होगा, और हाइपरमीडिया प्रदान किए गए लिंक संदर्भों का उपयोग करना होगा। आपको वसंत डेटा रेस्ट द्वारा उपयोग किए गए HAL विनिर्देश के अनुसार बस अपने JSON को पार्स करने की आवश्यकता है।

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