दिया जाता है मैं एक बाकी सेवा है कि XML रिटर्न बोल रहा हूँ, और मेरे कक्षाएं मार्शल करने के लिए Jaxb2Marshaller
का उपयोग कर (जैसे Foo
, Bar
, आदि)। तो मेरे मुवक्किल कोड तो दिखाई देता है:वसंत के RestTemplate को कैसे कॉन्फ़िगर अशक्त वापस जाने के लिए जब 404 की HTTP स्थिति
HashMap<String, String> vars = new HashMap<String, String>();
vars.put("id", "123");
String url = "http://example.com/foo/{id}";
Foo foo = restTemplate.getForObject(url, Foo.class, vars);
जब सर्वर साइड पर लुक-अप में विफल रहता है यह कुछ एक्सएमएल के साथ एक 404 देता है। मैं UnmarshalException
फेंक रहा हूं क्योंकि यह एक्सएमएल नहीं पढ़ सकता है।
Caused by: javax.xml.bind.UnmarshalException: unexpected element (uri:"", local:"exception"). Expected elements are <{}foo>,<{}bar>
प्रतिक्रिया का ढाँचा है:
<exception>
<message>Could not find a Foo for ID 123</message>
</exception>
मैं कैसे इतना है कि RestTemplate
RestTemplate.getForObject()
रिटर्न null
कॉन्फ़िगर कर सकते हैं 404 होता है तो क्या होगा?
'getForObject', डिफ़ॉल्ट रूप से, 404 के साथ' HttpClientErrorException' फेंकना चाहिए। आपने अपना 'RestTemplate' कैसे कॉन्फ़िगर किया है? –
@SotiriosDelimanolis मुझे अब तक कोड तक पहुंच नहीं है, लेकिन आपके द्वारा वर्णित डिफ़ॉल्ट व्यवहार की तरह लगता है कि उस समय मुझे क्या उम्मीद थी। (मुझे भविष्य के प्रश्नों में संस्करणों को बताने की आदत में होना चाहिए।) – vegemite4me