插件窝 干货文章 Iris路由分组挂载机制:app.Party("/v1") 如何将路由分组关联到主应用?

Iris路由分组挂载机制:app.Party("/v1") 如何将路由分组关联到主应用?

路由 分组 应用 Iris 152    来源:    2025-03-15

在Iris框架中,app.Party("/v1") 是用于创建路由分组的一种方式。这个分组可以包含一组相关的路由,并且可以对这些路由应用中间件、设置前缀等。要将这个路由分组关联到主应用,你只需要在主应用中定义这个分组,并在分组中定义具体的路由即可。

以下是一个简单的示例,展示如何将路由分组关联到主应用:

package main

import (
    "github.com/kataras/iris/v12"
)

func main() {
    app := iris.New()

    // 创建一个路由分组,前缀为 "/v1"
    v1 := app.Party("/v1")
    {
        // 在分组中定义路由
        v1.Get("/users", func(ctx iris.Context) {
            ctx.JSON(iris.Map{"message": "Get all users"})
        })

        v1.Get("/users/{id:int}", func(ctx iris.Context) {
            id := ctx.Params().GetIntDefault("id", 0)
            ctx.JSON(iris.Map{"message": "Get user by ID", "id": id})
        })

        v1.Post("/users", func(ctx iris.Context) {
            ctx.JSON(iris.Map{"message": "Create a new user"})
        })
    }

    // 启动应用
    app.Run(iris.Addr(":8080"))
}

解释:

  1. app.Party("/v1"): 创建了一个路由分组,前缀为 /v1。这意味着这个分组下的所有路由都会以 /v1 开头。
  2. 在分组中定义路由: 在 v1 分组中定义了三个路由:
    • GET /v1/users: 获取所有用户。
    • GET /v1/users/{id:int}: 根据ID获取用户。
    • POST /v1/users: 创建一个新用户。
  3. app.Run(iris.Addr(":8080")): 启动应用,监听8080端口。

关联到主应用:

  • 通过 app.Party("/v1") 创建的分组已经自动关联到主应用 app 上。你只需要在分组中定义路由,这些路由就会自动成为主应用的一部分。

访问路由:

  • 启动应用后,你可以通过以下URL访问这些路由:
    • GET http://localhost:8080/v1/users
    • GET http://localhost:8080/v1/users/1
    • POST http://localhost:8080/v1/users

中间件:

你还可以在分组上应用中间件,例如:

v1.Use(func(ctx iris.Context) {
    // 在分组中的所有路由上应用中间件
    ctx.Next()
})

这样,所有 /v1 分组下的路由都会先经过这个中间件处理。

通过这种方式,你可以将路由分组关联到主应用,并且可以灵活地管理和组织路由。