how to return Custom Json in http 404 ASP.NET Web API -
WebApiConfig.cs
सार्वजनिक स्थिर शून्य पंजीकरण (एचटीटीपी कॉन्फ़िगरेशन कॉन्फ़िग) {config.Routes MapHttpRoute (नाम: "DefaultApi", मार्गटैम्प्लेट: "खोज / {नियंत्रक} / {आईडी}", डिफ़ॉल्ट: नया {id = RouteParameter.Optional}); // JSON प्रतिसाद सेटिंग config.Formatters.Clear (); Config.Formatters.Add (नई System.Net.Http.Formatting.JsonMediaTypeFormatter ()); config.EnableSystemDiagnosticsTracing (); } उत्तरकंट्रोलर.cs
सार्वजनिक वर्ग जवाब नियंत्रक: एपीआई नियंत्रक {[एचटीटीपीगेट] सार्वजनिक एचटीपीआरपीएसपेज संदेश प्राप्त करें () {...}} < / Pre> और मैं नीचे json रिटर्न कस्टम त्रुटि कोड लिखता हूं:
401 बुरा अनुरोध - {मेटा: {code: 401, msg = 'invalid params'}} मैं 404 HTTP स्थिति के लिए जेसन रिटर्न कोड लिखना चाहता हूं।
मैं कहां लिखा? नियंत्रक वर्ग? webconfig.cs? ग्लोबल.एएसएक्स?
इसलिए आपके पास उस कोड लिखने के लिए कुछ विकल्प हैं:
-
आप एक वैश्विक फिल्टर जोड़ सकते हैं जो कि OnError स्थिति को संभालता है, और उसके बाद उस फिल्टर को उचित JSON प्रतिक्रिया वापस आती है। इसमें कुछ अलग उदाहरण दिए गए हैं, यदि आप गूगल के आसपास हैं। -
मुझे क्या करना है, एक कस्टम BaseApiController वर्ग है जिसमें एक ExecuteRequest विधि जो लैम्ब्डा प्रतिनिधि को पैरामीटर के रूप में लेती है, और फिर ExecuteRequest विधि निकाय के अंदर मैं प्रतिनिधि को कॉल करने के बाद प्रतिनिधि और मेरे टीडाउन और त्रुटि से निपटने को कॉल करने से पहले अपने सभी सेटअप कर सकता हूं। मैं इस तरह से बी / सी चला गया मैं अपने DI ढांचे के रूप में सरल इंजेक्टर का उपयोग करता हूं और DI इंजेक्शन प्राप्त करने के लिए कस्टम फिल्टर प्राप्त करने के लिए यह एक दर्द था, और क्रम में चला गया, जिसे मैं चाहता हूं। मुझे पता है कि यह समझ में आता है, लेकिन मुझे लगता है कि यह आपके लिए अच्छी तरह से काम करेगा, बी / सी तो आप इसे सिर्फ एक प्रयास / पकड़ने में और संभाल सकते हैं।
Comments
Post a Comment