Browse Source

添加接口

yjp 2 months ago
parent
commit
07a5f49586
1 changed files with 15 additions and 0 deletions
  1. 15 0
      http_binding/http_binding.go

+ 15 - 0
http_binding/http_binding.go

@@ -42,6 +42,21 @@ func NewBinding(apiVersion string, middlewares ...middleware.Func) *Binding {
 	return &Binding{routerGroup: routerInstance.Group(apiPrefix, ginMiddlewares...)}
 }
 
+// NewRootBinding 基于根路由的binding
+func NewRootBinding(middlewares ...middleware.Func) *Binding {
+	// 把binding.Middleware转换为gin的中间件函数
+	ginMiddlewares := make([]gin.HandlerFunc, 0)
+	for _, m := range middlewares {
+		innerM := m
+		ginMiddlewares = append(ginMiddlewares, func(c *gin.Context) {
+			innerM(&binding_context.Context{Context: c})
+		})
+	}
+
+	// 返回创建的路由组
+	return &Binding{routerGroup: routerInstance.Group("", ginMiddlewares...)}
+}
+
 type HandleFunc func(c *binding_context.Context)
 
 func (binding *Binding) AddHandler(method string, relativePath string, handleFunctions ...HandleFunc) error {