Go Academy · पाठ

Gin राउटर और रूट समूह

Engine सेटअप, समूह और पथ पैरामीटर

पाठ 1, कुल 4 में से13 चरण

Gin राउटर और रूट समूह, CoddyKit पर Go Academy का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Go Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Go Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

Gin क्या है

Gin, Go के लिए उच्च-प्रदर्शन वाला HTTP वेब फ़्रेमवर्क है। इसमें रेडिक्स ट्री राउटर, मिडलवेयर समर्थन, JSON बाइंडिंग और सत्यापन की सुविधाएँ हैं — इसलिए यह REST API के लिए लोकप्रिय है।

इंस्टॉल करना और मूल सेटअप

Gin को import करें और एक Gin Engine बनाएँ:

go get github.com/gin-gonic/gin

package main

func main() {
    r := gin.Default()
    r.GET("/ping", func(c *gin.Context) {
        c.JSON(200, gin.H{"message": "pong"})
    })
    r.Run(":8080")
}

gin.Default बनाम gin.New

gin.Default() में Logger और Recovery मिडलवेयर शामिल होते हैं। gin.New() बिना किसी मिडलवेयर के Engine बनाता है — जब आप मिडलवेयर पर पूरा नियंत्रण चाहते हों, तब इसका उपयोग करें।

रूट की विधियाँ

HTTP विधियों के लिए रूट पंजीकृत करें: GET, POST, PUT, PATCH, DELETE, OPTIONS, HEAD और Any:

r.GET("/users", listUsers)
r.POST("/users", createUser)
r.PUT("/users/:id", updateUser)
r.DELETE("/users/:id", deleteUser)

पाथ पैरामीटर

c.Param("name") से पाथ पैरामीटर निकालें:

r.GET("/users/:id", func(c *gin.Context) {
    id := c.Param("id")
    c.JSON(200, gin.H{"id": id})
})

क्वेरी पैरामीटर

c.Query और c.DefaultQuery से क्वेरी पैरामीटर पढ़ें:

page := c.DefaultQuery("page", "1")
limit := c.Query("limit") // "" if absent

रूट समूह

r.Group से संबंधित रूट को किसी सामान्य प्रीफ़िक्स के अंतर्गत समूहित करें। समूह पर लागू किया गया मिडलवेयर उसके सभी रूट को प्रभावित करता है:

api := r.Group("/api/v1")
{
    api.GET("/users", listUsers)
    api.POST("/users", createUser)
    api.PUT("/users/:id", updateUser)
}

नेस्टेड समूह

सूक्ष्म स्तर का संगठन करने के लिए समूहों को एक-दूसरे के भीतर रखा जा सकता है:

admin := r.Group("/admin")
admin.Use(AdminAuth())
{
    admin.GET("/stats", getStats)
    admin.DELETE("/users/:id", deleteUser)
}

कोई रूट नहीं / विधि अनुमत नहीं

r.NoRoute और r.NoMethod से 404 और 405 को सुचारु रूप से संभालें:

r.NoRoute(func(c *gin.Context) {
    c.JSON(404, gin.H{"error": "not found"})
})

स्थिर फ़ाइलें

किसी डायरेक्टरी से स्थिर फ़ाइलें उपलब्ध कराएँ:

r.Static("/static", "./public")
r.StaticFile("/favicon.ico", "./favicon.ico")

HTTP Handler के रूप में Engine

Gin का *gin.Engine, http.Handler को लागू करता है, इसलिए समय-सीमा कॉन्फ़िगर करने के लिए आप इसे कस्टम http.Server के साथ उपयोग कर सकते हैं:

srv := &http.Server{Addr: ":8080", Handler: r, ReadTimeout: 5*time.Second}
srv.ListenAndServe()

त्वरित जाँच

Gin में रूट समूहों का उपयोग करने का क्या लाभ है?

पुनरावलोकन: Gin राउटर और समूह

मुख्य बिंदु:

  • gin.Default() में Logger+Recovery शामिल हैं; कस्टम सेटअप के लिए gin.New()
  • पाथ पैरामीटर के लिए c.Param; क्वेरी पैरामीटर के लिए c.Query
  • साझा प्रीफ़िक्स और मिडलवेयर के लिए r.Group("/prefix")
  • Gin, http.Handler को लागू करता है — इसे कस्टम http.Server के साथ उपयोग करें
शुरुआत निःशुल्क

एआई शिक्षक के साथ Go सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
51
पाठ
203

अक्सर पूछे जाने वाले प्रश्न

क्या “Gin राउटर और रूट समूह” पाठ निःशुल्क है?

हाँ — Go Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “Gin राउटर और रूट समूह” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Go Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“Gin राउटर और रूट समूह” में मैं क्या सीखूँगा?

Engine सेटअप, समूह और पथ पैरामीटर आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Go Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Go Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Go Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।

“Gin राउटर और रूट समूह” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Go Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Go Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. Gin राउटर और रूट समूह
  2. अनुरोध बाइंडिंग और सत्यापन
  3. प्रतिक्रिया सहायक और स्थिति कोड
  4. Gin मिडलवेयर: प्रमाणीकरण और लॉगिंग
← Go Academy पर वापस जाएँ