पैरामीटर नाम सामान्य रूप से रनटाइम पर जावा कोड द्वारा सुलभ नहीं होते हैं (क्योंकि यह संकलक द्वारा ड्रॉप होता है), इसलिए यदि आप चाहते हैं कि कार्यक्षमता आपको या तो जावा 8 की अंतर्निहित कार्यक्षमता का उपयोग करने की आवश्यकता है या पहुंच प्राप्त करने के लिए पैरानेमर जैसी लाइब्रेरी का उपयोग करें। यह करने के लिए।
तो जैक्सन का उपयोग करते समय कंस्ट्रक्टर के तर्कों के लिए एनोटेशन का उपयोग नहीं करने के लिए, आप इन जैक्सन हेडर में से किसी एक का उपयोग कर सकते हैं:
जैक्सन मॉड्यूल पैरामीटर-नाम
यह मॉड्यूल आपको जावा 8 का उपयोग करते समय एनोटेशन-फ्री कंस्ट्रक्टर तर्क प्राप्त करने की अनुमति देता है । इसका उपयोग करने के लिए आपको पहले मॉड्यूल को पंजीकृत करने की आवश्यकता है:
ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new ParameterNamesModule());
फिर -परामेटर्स ध्वज का उपयोग करके अपना कोड संकलित करें:
javac -parameters ...
लिंक: https://github.com/FasterXML/jackson-modules-java8/tree/master/parameter-names
जैक्सन मॉड्यूल-paranamer
यह अन्य एक बस आपको मॉड्यूल को पंजीकृत करने या एक एनोटेशन आत्मनिरीक्षण (लेकिन दोनों टिप्पणियों के रूप में इंगित नहीं किया गया है) को कॉन्फ़िगर करने की आवश्यकता है। यह आपको 1.8 से पहले जावा के संस्करणों पर एनोटेशन-फ्री कंस्ट्रक्टर के तर्क का उपयोग करने की अनुमति देता है ।
ObjectMapper mapper = new ObjectMapper();
// either via module
mapper.registerModule(new ParanamerModule());
// or by directly assigning annotation introspector (but not both!)
mapper.setAnnotationIntrospector(new ParanamerOnJacksonAnnotationIntrospector());
लिंक: https://github.com/FasterXML/jackson-modules-base/tree/master/paraner