Перейти к содержимому

Маршрутизация

Gin предоставляет мощную систему маршрутизации, построенную на httprouter для высокопроизводительного сопоставления URL. Под капотом httprouter использует radix-дерево (также называемое сжатым префиксным деревом) для хранения и поиска маршрутов, что означает, что сопоставление маршрутов выполняется чрезвычайно быстро и не требует выделения памяти при каждом поиске. Это делает Gin одним из самых быстрых веб-фреймворков для Go.

Маршруты регистрируются путём вызова HTTP-метода на движке (или группе маршрутов) с указанием шаблона URL и одной или нескольких функций-обработчиков:

package main
import (
"net/http"
"github.com/gin-gonic/gin"
)
func main() {
router := gin.Default()
router.GET("/hello", func(c *gin.Context) {
c.String(http.StatusOK, "Hello, World!")
})
router.POST("/users", func(c *gin.Context) {
name := c.PostForm("name")
c.JSON(http.StatusCreated, gin.H{"user": name})
})
router.Run(":8080")
}

В этом разделе

Страницы ниже подробно описывают каждую тему маршрутизации: