diff --git a/middleware/api_version.go b/middleware/api_version.go new file mode 100644 index 0000000..b301b7f --- /dev/null +++ b/middleware/api_version.go @@ -0,0 +1,14 @@ +package middleware + +import "github.com/gin-gonic/gin" + +func ApiVersionCheck() gin.HandlerFunc { + return func(c *gin.Context) { + apiVersion := c.GetHeader("X-Api-Version") + if apiVersion == "" { + c.Abort() + return + } + c.Next() + } +} diff --git a/server/router.go b/server/router.go index ef06164..6197009 100644 --- a/server/router.go +++ b/server/router.go @@ -1,6 +1,7 @@ package server import ( + "nixcn-cms/middleware" "nixcn-cms/service/auth" "nixcn-cms/service/event" "nixcn-cms/service/user" @@ -10,7 +11,7 @@ import ( func Router(e *gin.Engine) { // API Services - api := e.Group("/api/v1") + api := e.Group("/api/v1", middleware.ApiVersionCheck()) auth.Handler(api.Group("/auth")) user.Handler(api.Group("/user")) event.Handler(api.Group("/event"))