मैं सामान्य @Path, @GET, @Produces({"application/json, "application/xml"})
का उपयोग कर एक आरईएसटी webservice बनाने के लिए जेएक्स आरएस का उपयोग कर रहा हूं।जेएक्स आरएस - जेएसओएन और एक्सएमएल परिपत्र/चक्रीय संदर्भ त्रुटि
मैं पीओजेओ को प्रतिक्रिया के रूप में लौटा रहा हूं जो अनुरोध के प्रकार के आधार पर JSON या XML के रूप में भेजा जाता है। यह ठीक काम कर रहा था जब तक कि मैंने को कई अन्य लोगों के साथ संबंध जोड़ा। रिश्ते बिडरेक्शनल है।
मैं जेबॉस एएस 7 का उपयोग कर रहा हूं। मैंने जैक्सन के @JsonManagedReference
और @JsonBackReference
को जोड़ा लेकिन इसका कोई फायदा नहीं हुआ।
इस पर कैसे प्राप्त करें?
मैं इस तरह मेरी JAX रुपये तैनात: -
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_3_0.xsd" version="3.0">
<servlet>
<servlet-name>javax.ws.rs.core.Application</servlet-name>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>javax.ws.rs.core.Application</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
</web-app>
मैं किसी भी आवेदन वर्ग का विस्तार या किसी JAXRS उत्प्रेरक वर्ग के लिए इस्तेमाल नहीं किया था।
यह जेबॉस की रीस्टेसी जैक्सन का उपयोग उनके JSON प्रदाता के रूप में कर रही है, फिर भी यह @JsonManagedReference
एनोटेशन क्यों नहीं पहचान रहा है?
क्या मुझे निर्भरताओं को अद्यतन करना है, यदि हां तो कैसे? और एक्सएमएल का अनुरोध ठीक करने के तरीके को कैसे ठीक किया जाए, वहां भी यह जेएक्सबी में परिपत्र संदर्भ में विफल रहता है।
अग्रिम धन्यवाद!
क्या आपने यह प्रश्न देखा है? http://stackoverflow.com/questions/3073364/jaxb-mapping-cyclic-references-to-xml – Tomalak
धन्यवाद, मैं इसे देख रहा हूं, लेकिन यह अभी भी जेएसओएन को खुले में छोड़ देता है, नहीं? – Stuarty
मुझे लगता है कि JSON के लिए एक समान दृष्टिकोण होना चाहिए। (हालांकि, मुझे नहीं पता। सवाल उचित रूप से समान लग रहा था इसलिए मैं उन्हें पार करना चाहता था।) – Tomalak