2012-05-23 20 views
6

संशोधित संसाधन मैं वर्तमान में आरईएसटी सेवा बनाने के लिए जर्सी & जैक्सन का उपयोग कर रहा हूं। अभी जब एक संसाधन विधि एप्लिकेशन/जेसन उत्पन्न करती है और पीओजेओ लौटा दी जाती है, तो यह ऑब्जेक्ट को JSON में व्यवस्थित करता है और क्लाइंट को प्रतिक्रिया देता है।जर्सी और जैक्सन - जैक्सन आउटपुट

जो मैं अब करना चाहता हूं वह जर्सी सेट है, जब एक क्वेरीपरम आता है (चलिए "इंडेंट" कहें), मैं जैक्सन को जेएसओएन को "सुंदर प्रारूप, उर्फ ​​इंडेंट" में क्रमबद्ध करने के लिए कह सकता हूं। आप आसानी से जैक्सन मैपर को SerializationConfig.Feature.INDENT_OUTPUT के साथ कॉन्फ़िगर करके ऐसा करने के लिए कह सकते हैं।

सवाल यह है कि, मैं एक प्रति-अनुरोध के आधार पर क्वेरीपरम कैसे लेता हूं और इसका उपयोग जैक्सन के आउटपुट को संशोधित करने के लिए करता हूं?

उत्तर

1

कुछ इस तरह:

@GET 
@Path("path/to/rest/service") 
@Produces("application/json") 
public Response getSomething(
     @DefaultValue("false") @QueryParam("indent") boolean indent, ...) { 
    ... 
    if (indent) { 
     objectMapper.configure(SerializationConfig.Feature.INDENT_OUTPUT, true); 
    } 
    ... 
} 

आप जो खोज है?

+1

समस्या ऑब्जेक्टमैपर तक पहुंच प्राप्त कर रही है। – William

+0

एक ही समस्या होने पर, objectMapper कैसे प्राप्त करें? –

+1

ऑब्जेक्ट मैपर आमतौर पर साझा किया जाता है ताकि आपको प्रति अनुरोध आधार पर कॉन्फ़िगरेशन नहीं बदला जाना चाहिए। Http://stackoverflow.com/questions/18872931/custom-objectmapper-with-jersey-2-2-and-jackson-2-1 में आप विचार कर सकते हैं कि कस्टम ऑब्जेक्ट मैपर कैसे करें और इसका उपयोग कैसे करें। –

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