HTTP विधि ओवरराइड एक ऐसी तकनीक है जिसका उपयोग उन ग्राहकों का समर्थन करने के लिए किया जाता है जो PUT या DELETE जैसी कुछ HTTP विधियों का समर्थन नहीं करते हैं। यह विशेष रूप से वेब ब्राउज़र और पुराने क्लाइंट के लिए उपयोगी है जो केवल GET और POST विधियों का समर्थन करते हैं। आइरिस वेब फ्रेमवर्क एक मजबूत और लचीली विधि ओवरराइड मिडलवेयर प्रदान करता है जो डेवलपर्स को अपने अनुप्रयोगों में HTTP विधि ओवरराइडिंग को आसानी से लागू करने की अनुमति देता है। यह मार्गदर्शिका आपको आइरिस पद्धति ओवरराइड मिडलवेयर की विशेषताओं और उपयोग के बारे में बताएगी, जिससे आपको अपने वेब अनुप्रयोगों को बढ़ाने के लिए इसकी क्षमताओं को समझने और उनका लाभ उठाने में मदद मिलेगी।
आइरिस विधि ओवरराइड मिडलवेयर HTTP विधि ओवरराइडिंग को कुशलतापूर्वक संभालने के लिए कई प्रकार की सुविधाएँ प्रदान करता है। इन सुविधाओं में शामिल हैं:
आइरिस विधि ओवरराइड मिडलवेयर का उपयोग करने के लिए, आपको इसे अपने आइरिस एप्लिकेशन में आयात करना होगा:
import "github.com/kataras/iris/v12/middleware/methodoverride"
मेथड ओवरराइड मिडलवेयर का उपयोग करने के लिए, आपको आवश्यक पैकेज आयात करने और अपने आईरिस एप्लिकेशन में मिडलवेयर को कॉन्फ़िगर करने की आवश्यकता है। यहाँ एक बुनियादी उदाहरण है:
package main import ( "github.com/kataras/iris/v12" "github.com/kataras/iris/v12/middleware/methodoverride" ) func main() { app := iris.New() // Create the method override middleware mo := methodoverride.New( methodoverride.SaveOriginalMethod("_originalMethod"), ) // Register the middleware with UseRouter app.UseRouter(mo) app.Post("/path", func(ctx iris.Context) { ctx.WriteString("POST response") }) app.Delete("/path", func(ctx iris.Context) { ctx.WriteString("DELETE response") }) app.Listen(":8080") }
आप मेथड्स विकल्प का उपयोग करके परिभाषित कर सकते हैं कि कौन से HTTP तरीकों को ओवरराइड किया जा सकता है। डिफ़ॉल्ट रूप से, केवल POST विधि को ओवरराइड किया जा सकता है। यहाँ एक उदाहरण है:
mo := methodoverride.New( methodoverride.Methods("POST", "PUT"), )
आप हेडर विकल्प का उपयोग करके विधि ओवरराइड निर्धारित करने के लिए कस्टम हेडर निर्दिष्ट कर सकते हैं। डिफ़ॉल्ट रूप से, मिडलवेयर निम्नलिखित हेडर की जाँच करता है: X-HTTP-मेथड, X-HTTP-मेथड-ओवरराइड, और X-मेथड-ओवरराइड। यहाँ एक उदाहरण है:
mo := methodoverride.New( methodoverride.Headers("X-Custom-Method"), )
आप फॉर्मफ़ील्ड विकल्प का उपयोग करके विधि ओवरराइड को निर्दिष्ट करने के लिए फॉर्म फ़ील्ड का उपयोग कर सकते हैं। डिफ़ॉल्ट रूप से, मिडलवेयर _method फॉर्म फ़ील्ड की जाँच करता है। यहाँ एक उदाहरण है:
mo := methodoverride.New( methodoverride.FormField("_method"), )
आप क्वेरी विकल्प का उपयोग करके विधि ओवरराइड को निर्दिष्ट करने के लिए क्वेरी पैरामीटर का उपयोग कर सकते हैं। डिफ़ॉल्ट रूप से, मिडलवेयर _method क्वेरी पैरामीटर की जाँच करता है। यहाँ एक उदाहरण है:
mo := methodoverride.New( methodoverride.Query("_method"), )
आप वैकल्पिक रूप से SaveOriginalMethod विकल्प का उपयोग करके मूल HTTP विधि को बाद में उपयोग के लिए सहेज सकते हैं। यहाँ एक उदाहरण है:
mo := methodoverride.New( methodoverride.SaveOriginalMethod("_originalMethod"), )
आइरिस एप्लिकेशन के साथ मिडलवेयर को ओवरराइड करने की विधि का उपयोग करने का तरीका दिखाने वाला एक संपूर्ण उदाहरण यहां दिया गया है:
package main import ( "github.com/kataras/iris/v12" "github.com/kataras/iris/v12/middleware/methodoverride" ) func main() { app := iris.New() // Create the method override middleware mo := methodoverride.New( methodoverride.SaveOriginalMethod("_originalMethod"), ) // Register the middleware with UseRouter app.UseRouter(mo) app.Post("/path", func(ctx iris.Context) { ctx.WriteString("POST response") }) app.Delete("/path", func(ctx iris.Context) { ctx.WriteString("DELETE response") }) app.Listen(":8080") }
आईरिस विधि ओवरराइड मिडलवेयर उन ग्राहकों को समर्थन देने का एक सरल और कुशल तरीका प्रदान करती है जो कुछ HTTP विधियों का समर्थन नहीं करते हैं। इस मिडलवेयर की सुविधाओं का लाभ उठाकर, आप अपने वेब अनुप्रयोगों की अनुकूलता और लचीलेपन को बढ़ा सकते हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3