मैं इस पर नया हूं, कुछ दस्तावेज़ पढ़ने को प्राप्त करने की कोशिश कर रहा हूं लेकिन यह काम नहीं कर रहा है, कृपया मेरे साथ भालू।जेएक्स-आरएस जर्सी अपवाद मैपर उपयोगकर्ता-परिभाषित अपवाद
मैं एक UserNotFoundMapper
बनाया है ExceptionMappers
इस तरह का उपयोग कर:
public class UserNotFoundMapper implements ExceptionMapper<UserNotFoundException> {
@Override
public Response toResponse(UserNotFoundException ex) {
return Response.status(404).entity(ex.getMessage()).type("text/plain").build();
}
}
यह मेरी सेवा में:
@GET
@Path("/user")
public Response getUser(@QueryParam("id") String id) throws UserNotFoundException{
//Some user validation code with DB hit, if not found then
throw new UserNotFoundException();
}
UserNotFoundException
एक User-Defined
अपवाद नहीं है।
public class UserNotFoundException extends Exception {
//SOME block of code
}
लेकिन जब मैं सेवा शुरू, UserDefinedExceptionMapper
लागू नहीं हो रही है:
मैं इस कोशिश की। ऐसा लगता है कि मुझे UserDefinedException
में कुछ याद आ रहा है। तब इस अपवाद को कैसे परिभाषित किया जाए?
कृपया मुझे बताएं कि UserNotFoundException
को कैसे परिभाषित किया जाए।
उत्तर के लिए धन्यवाद। मुझे इससे संबंधित कुछ चीजों को जानने की ज़रूरत है: WebAplicationException का उपयोग करने और ExceptionMapper का उपयोग करने के बीच अंतर कहां है? मुझे यकीन नहीं है कि किस परिस्थितियों का उपयोग किया जाना चाहिए :(क्या आप कृपया इस पर अपना इनपुट प्रदान कर सकते हैं? – WhoAmI
@WhoAmI - वेब एप्लिकेशन अपवाद स्वचालित रूप से जेएक्स-आरएस प्रदाता द्वारा मैप किए जाते हैं। इसलिए, अपवाद मैपर का उपयोग करने के विरोध में, उदाहरण के लिए , आप 'WebAplicationException' का विस्तार कर सकते हैं और इसे 'getResponse' विधि ओवरराइड कर सकते हैं।कुछ लोग इसे सभी अपवादों के लिए करना पसंद करते हैं जिन्हें वे पूरी तरह से अपने जेएक्स-आरएस कार्यान्वयन के लिए परिभाषित करते हैं। हालांकि मैपर्स बहुत अच्छे हैं, अपवाद मैपिंग के लिए जो WebAplicationException (जैसे सभी मानक जावा अपवाद, तृतीय पक्ष पुस्तकालयों आदि से अपवाद) से विस्तार नहीं करते हैं। – Perception
यह कथन: 'वेब एप्लिकेशन अपवाद स्वचालित रूप से जेएक्स-आरएस प्रदाता द्वारा मैप किए जाते हैं' मैंने इसे कई दस्तावेज़ों में देखा है जो मैं नेट पर चारों ओर पढ़ रहा हूं। लेकिन यह समझने में सक्षम नहीं है कि वास्तव में इसका मतलब सरल शब्दों में क्या है और इसका महत्व/उपयोग क्या है :(क्या आप कृपया समझा सकते हैं? – WhoAmI