[ad_1]
मैं मोबाइल ऐप्स डेवलपर्स के लिए एक रेस्ट एपीआई बना रहा हूं। मैं चाहता हूं कि जब भी वे मेरे एपीआई पर कॉल करें तो पहले यह जांच लें कि लौटाई गई स्थिति 200 है या कुछ और। इसलिए मैंने गूगल पर खोजा और यह लिंक पाया जो बाकी एपीआई एएसपीनेट के स्टेटस कोड को संभाल रहा है:
वेब एपीआई प्रतिक्रिया बनाएं[^]
लेकिन मेरा रेस्ट एपीआई पहले से ही 115 वेबमिथड्स के साथ एक अलग तरीके से बनाया गया है और मैं अपने सभी तरीकों को बदल नहीं सकता और उन्हें इस तरह नहीं बना सकता। नीचे एक उदाहरण दिया गया है कि मेरी वेब विधियाँ कैसे बनाई गई हैं:
Public Function InfoAndTerms(ByVal Lang As String) As Information() Implements IService.InfoAndTerms Dim result() As Information Try ' Do something and fill result Catch ex As Exception ' Do something else Finally InfoAndTerms = result End Try End Function
जहां ‘InfoAndTerms’ ‘DataTypes’ मॉड्यूल में एक संरचना है
तो मेरा प्रश्न है: क्या प्रतिक्रिया के रूप में ऑब्जेक्ट के साथ http स्थिति कोड वापस करने का कोई अन्य तरीका नहीं है?
आपकी मदद की सराहना की जाती है
मैंने क्या प्रयास किया है:
मैंने यह कोशिश की है:
Public Function InfoAndTerms(ByVal Lang As String) As Information() Implements IService.InfoAndTerms Dim result() As Information Try ' Do something and fill result Catch ex As Exception Throw New System.Web.HttpException(500, "Error - InfoAndTerms") Finally InfoAndTerms = result End Try End Function
लेकिन जब मैंने इस पद्धति का परीक्षण किया तो मुझे 500 के बजाय 400 स्थिति मिली। तो समस्या क्या हो सकती है?
समाधान 1
अंततः मुझे एक समाधान मिल गया:
के अनुसार इस लिंक हमें बस ‘WebFaultException’ का उपयोग करना होगा जो http स्थिति को बदल देगा। अब हैंडल की गई त्रुटि को वापस करने का एक अच्छा तरीका भी है:
Public Function TestMethod2(ByVal name As String) As String Implements IService.TestMethod2 If name = "" Then Dim str As New ErrMessage str.intErr = 1 str.strErrMessage = "bla bla bla" Throw New WebFaultException(Of ErrMessage)(str, HttpStatusCode.BadRequest) End If Return name End Function
फिर स्थिति बदल जाएगी और लौटाई गई वस्तु एक त्रुटि होगी। व्यक्तिगत रूप से मैं किसी अन्य चीज़ के बजाय ऑब्जेक्ट त्रुटि लौटाना पसंद करता हूँ…
प्रोत्साहित करना 🙂
[ad_2]
コメント