go-programming-tour-book / blog-service

《Go 语言编程之旅:一起用 Go 做项目》第二章:博客程序(HTTP Server)
Apache License 2.0
554 stars 187 forks source link

2.2.5 路由管理,代码中 {} 的作用是什么? #27

Open qiuyimo opened 3 years ago

qiuyimo commented 3 years ago
package routers

import (
    "github.com/gin-gonic/gin"
    v1 "github.com/qiuyuhome/go-gin-blog-api/internal/routers/api/v1"
)

func NewRouter() *gin.Engine {
    r := gin.New()
    r.Use(gin.Logger())
    r.Use(gin.Recovery())

    article := v1.NewArticle()
    tag := v1.NewTag()
    apiv1 := r.Group("/api/v1")

    // todo, 下面的 {} 的作用是什么?
    {
        apiv1.POST("/tags", tag.Create)
        apiv1.DELETE("/tags/:id", tag.Delete)
        apiv1.PUT("/tags/:id", tag.Update)
        apiv1.PATCH("/tags/:id/state", tag.Update)
        apiv1.GET("/tags", tag.List)

        apiv1.POST("/articles", article.Create)
        apiv1.DELETE("/articles/:id", article.Delete)
        apiv1.PUT("/articles/:id", article.Update)
        apiv1.PATCH("/articles/:id/state", article.Update)
        apiv1.GET("/articles/:id", article.Get)
        apiv1.GET("/articles", article.List)
    }

    return r
}

不理解这个 {} 的作用是什么? 去掉了也可以的。麻烦解答一下呗。

Andylixunan commented 2 years ago

这个没有什么实际用处,主要是为了代码的可读性,把同一个路由分组的路由api用一个{}括起来。