मैं एमवीसी नियंत्रकों का उपयोग कर एक आरईएसटी एपीआई विकसित कर रहा हूं। मैं सभी मॉडल बाध्यकारी त्रुटियों को संभालना चाहता हूं और उन्हें उपयोगकर्ता के अनुकूल तरीके से ग्राहक को रिपोर्ट करना चाहता हूं। मेरे कस्टम मॉडल बाइंडर्स में मैं पहले से ही एक विशेष अपवाद फेंक रहा हूं जिसे अपवाद हैंडलर द्वारा सुरक्षित माना जाता है और क्लाइंट को दिखाया जाता है।विश्वसनीय रूप से एएसपी.नेट एमवीसी मॉडल बाध्यकारी त्रुटियों को संभाल लें
हालांकि, जब डिफ़ॉल्ट मॉडल बांधने की मशीन (एक int
के लिए कहते हैं, asdf
) एक अमान्य मान देखता है यह या तो पूरी तरह से यह (यदि पैरामीटर आवश्यक नहीं है) की उपेक्षा या फेंक रहा है एक सादे ArgumentException
(पैरामीटर आवश्यक है)। क्या दोनों मामलों को विश्वसनीय रूप से संभालना संभव है और पूरे बाइंडर को हाथ से लिखने के बिना पैरामीटर और संबंधित त्रुटि का नाम प्राप्त करना संभव है?
मैं ArgumentException
जैसा दिखाना नहीं चाहता क्योंकि यह विधि और नामस्थान नामों को प्रकट करता है जिन्हें क्लाइंट को परवाह नहीं करना चाहिए। अगर यह टालने योग्य है तो मैं ArgumentException
संदेश को भी पार्स नहीं करना चाहूंगा, और यह अमान्य मानों के साथ समस्या को हल नहीं करेगा क्योंकि गैर-आवश्यक पैरामीटर पूरी तरह से अनदेखा किए जा रहे हैं।
क्या आपको कभी भी अच्छा समाधान मिला? मैं 'IModelBinder' को सजाने या उपclassing के बारे में सोच रहा हूं, लेकिन मैं जानना चाहता हूं कि कोई बेहतर तरीका है या नहीं। –
@ फ़ैबियनस्चमीड: दुर्भाग्य से नहीं। "वेब एपीआई" मॉडल बाइंडर के पास शायद इस मामले के लिए बेहतर समर्थन है - और मुझे एएसपी.नेट कोर के बारे में पता नहीं है। –