rbac/api/routes.go
zhangkun9038@dingtalk.com 998e9d5412 up
2025-02-18 16:53:16 +08:00

56 lines
1.4 KiB
Go

package api
import (
"gitea.zjmud.xyz/phyer/rbac/controllers"
"gitea.zjmud.xyz/phyer/rbac/middleware"
"github.com/gin-gonic/gin"
)
func SetupRoutes(r *gin.Engine) {
// 认证相关路由
auth := r.Group("/auth")
{
auth.POST("/register", controllers.Register)
auth.POST("/login", controllers.Login)
}
// 需要认证的路由
api := r.Group("/api")
api.Use(middleware.JWTAuth())
{
// 用户管理
users := api.Group("/users")
{
users.GET("/", controllers.GetUsers)
users.GET("/:id", controllers.GetUser)
users.PUT("/:id", controllers.UpdateUser)
users.DELETE("/:id", controllers.DeleteUser)
}
// 角色管理
roles := api.Group("/roles")
{
roles.POST("/", controllers.CreateRole)
roles.GET("/", controllers.GetRoles)
roles.GET("/:id", controllers.GetRole)
roles.PUT("/:id", controllers.UpdateRole)
roles.DELETE("/:id", controllers.DeleteRole)
}
// 权限管理
permissions := api.Group("/permissions")
{
permissions.POST("", controllers.CreatePermission)
permissions.GET("", controllers.GetPermissions)
permissions.GET("/:id", controllers.GetPermission)
permissions.PUT("/:id", controllers.UpdatePermission)
permissions.DELETE("/:id", controllers.DeletePermission)
}
// Handle trailing slash redirect
api.GET("/permissions/", func(c *gin.Context) {
c.Redirect(301, "/api/permissions")
})
}
}