/ / JJ-RS का उपयोग करते हुए JSON के लिए एक POJO पार्स करना और किसी भी speific implemnation कोड का उपयोग न करना - जर्सी, cxf, jax-rs

जेएक्स-आरएस का उपयोग करके जेएसओएन को पीओजेओ को पार्स करना और किसी भी शानदार इम्प्लेमेशन कोड का उपयोग नहीं करना - जर्सी, सीएक्सएफ, जैक्स-आरएस

मैं जर्सी के इंटर्न को देख रहा था कि यह कैसा हैएक साधारण POJO को Json में परिवर्तित करता है। जर्सी में एक इंटरफेस प्रोवाइडर है, जो संदर्भ की सूची प्रदान करेगा। एक बार जब हम संदर्भ प्राप्त कर लेते हैं, तो हम नीचे से शोस्टेक्स और मार्शल को प्राप्त कर सकते हैं, जिसका उपयोग नीचे दिए गए शो की तरह, जस स्ट्रिंग को प्राप्त करने के लिए किया जा सकता है।

हम मान लेते हैं कि हम पूजो "ओब्ज" को क्रमबद्ध करना चाहते हैं। कोड इस प्रकार दिखेगा

Providers ps = ...
ContextResolver<JAXBContext> resolver = ps.getContextResolver(obj.getClass(), MediaType.APPLICATION_JSON_TYPE);
JAXBContext ctx = resolver.getContext(obj.getClass());
ctx.createMarshaller().marshal(obj, writer);

उपरोक्त तरीके से हम किसी भी POJO को जीत सकते हैं, जिसके पास वैध संदर्भ रिज़ॉल्वर है। लेकिन सवाल यह है कि हम प्रदाताओं के लिए हैंडलर कैसे प्राप्त करें।

पुनश्च: मैंने इस कोड को संकलित नहीं किया है, लेकिन जो मैं स्रोत से देख सकता हूं वह यह है कि जर्सी क्या करता है। मैं यह सब क्यों कर रहा हूं, ताकि हम JAX-RS एप के साथ सीधे JSON में किसी ऑब्जेक्ट को कन्वर्ट कर सकें। किसी भी कार्यान्वयन कोड का उपयोग करने के बजाय।

उत्तर:

उत्तर № 1 के लिए 1

JAX-RS संसाधन क्लॉस में, उत्पादकों को इंजेक्ट करने के लिए जर्सी को बताने के लिए @ कॉन्टेक्स्ट एनोटेशन का उपयोग करें:

@Context Producers producers;

जवाब के लिए 0 № 2

तो आपका सवाल है: "प्रदाताओं को कैसे खोजना है"?

आपको क्लासपाथ में कक्षाएं खोजने के लिए कोड लिखना होगा जो @Provider के साथ एनोटेट हैं।