से समान त्रुटि प्रतिक्रियाएं, मैं एक वेब एपीआई 2 एप्लिकेशन विकसित कर रहा हूं और मैं वर्तमान में एक समान तरीके से त्रुटि resposnes प्रारूपित करने की कोशिश कर रहा हूं (ताकि उपभोक्ता यह भी जान सके कि डेटा ऑब्जेक्ट/संरचना वे त्रुटियों के बारे में अधिक जानकारी प्राप्त करने का निरीक्षण कर सकते हैं)।एएसपी.Net वेब एपीआई 2
{
"Errors":
[
{
"ErrorType":5003,
"Message":"Error summary here",
"DeveloperAction":"Some more detail for API consumers (in some cases)",
"HelpUrl":"link to the docs etc."
}
]
}
यह आवेदन अपने आप में फेंक दिया अपवाद हैं (यानी अंदर नियंत्रक) के लिए ठीक काम करता है: यह मैं अब तक क्या मिल गया है है। हालांकि, यदि उपयोगकर्ता खराब यूआरआई (और 404 प्राप्त करता है) का अनुरोध करता है या गलत क्रिया का उपयोग करता है (और 405 हो जाता है) आदि, वेब एपीआई 2 एक डिफ़ॉल्ट त्रुटि संदेश को थकाता है उदा।
{
Message: "No HTTP resource was found that matches the request URI 'http://localhost/abc'."
}
कोई त्रुटि (404, 405 आदि) और उनके ऊपर पहले उदाहरण में त्रुटि प्रतिसाद में बाहर स्वरूपण के इन प्रकार के फँसाने का कोई तरीका है?
अब तक मैं कोशिश की है:
- कस्टम ExceptionAttribute inherting
ExceptionFilterAttribute
- कस्टम ControllerActionInvoker inherting
ApiControllerActionInvoker
IExceptionHandler
हालांकि (वेब एपीआई से 2.1 सुविधा हैंडलिंग नई वैश्विक त्रुटि) , इनमें से कोई भी दृष्टिकोण इन प्रकार की त्रुटियों को पकड़ने में सक्षम नहीं है (404, 405 इत्यादि)। इस पर कोई विचार कैसे प्राप्त किया जा सकता है?
... या, क्या मैं इस गलत तरीके से जा रहा हूं? क्या मुझे केवल अपनी विशेष शैली में एप्लिकेशन/उपयोगकर्ता स्तर की त्रुटियों के लिए त्रुटि प्रतिक्रियाएं स्वरूपित करनी चाहिए और 404 जैसी चीजों के लिए डिफ़ॉल्ट त्रुटि प्रतिक्रियाओं पर भरोसा करना चाहिए?
'चाहिए मैं केवल प्रारूप के लिए कोशिश पकड़ हिट आवेदन/उपयोगकर्ता स्तर की त्रुटियों के लिए मेरी विशेष शैली में त्रुटि प्रतिक्रियाएं और 404 जैसी चीजों के लिए डिफ़ॉल्ट त्रुटि प्रतिक्रियाओं पर भरोसा करते हैं? '... मेरी राय हाँ –
मैं इस दृष्टिकोण की ओर से अधिक से अधिक चल रहा हूं। आपके महान उत्तरों/टिप्पणियों के लिए धन्यवाद। –