मेरे पास लगभग पचास नियंत्रक हैं जो @ResponseBody एनोटेशन का उपयोग करते हैं।वसंत अजाक्स @ रेस्पॉन्सबॉडी शून्य वापस मूल्यों के साथ
इस तरह:
@RequestMapping(value = "/someUrl.controller", method = RequestMethod.GET)
public @ResponseBody Object getObject(@RequestParam("id") Long id) {
Object object = provider.getObject(id);
return object;
}
कभी-कभी GetObject विधि वापसी null
। समस्या यह है कि क्लाइंट पक्ष पर मुझे null
के बजाय खाली प्रतिक्रिया मिलती है।
प्रारंभिक कार्यान्वयन में हमारे पास कस्टम JsonView
ऑब्जेक्ट है जो @ResponseBody एनोटेशन के बिना रैपर के रूप में काम करता है।
इस तरह:
@RequestMapping(value = "/someUrl.controller", method = RequestMethod.GET)
public JsonView<Object> getObject(@RequestParam("id") Long id) {
Object object = provider.getObject(id);
return new JsonView(object);
}
तो यह ठीक काम कर रहा था।
मुझे How do you override the null serializer in Jackson 2.0? पर कुछ समाधान मिला है लेकिन दुर्भाग्य से यह केवल पीओजेओ के क्षेत्रों के लिए ही काम करता है।
क्या आपके पास कोई विचार है कि इसे कैसे प्रबंधित किया जा सकता है?
अग्रिम धन्यवाद! इस तरह से अपने ग्राहक को पता है जब वस्तु प्रतिक्रिया की स्थिति की जांच रिक्त है में सक्षम हो जाएगा में
@RequestMapping(value = "/someUrl.controller", method = RequestMethod.GET)
public ResponseEntity<Object> getObject(@RequestParam("id") Long id) {
Object object = provider.getObject(id);
if (object == null) {
return new ResponseEntity<Object> (HttpStatus.BAD_REQUEST); // Or any other error status
} else {
return new ResponseEntity<Object> (object, HttpStatus.OK);
}
}
:
क्या आप हमें बता सकते हैं कि यह जेनेरिक 'जेसन व्यू' कक्षा किस पुस्तकालय से है? –