[优化]restful

This commit is contained in:
PandaGoAdmin
2022-08-03 21:46:40 +08:00
parent 518a3de903
commit 0f08bac600
12 changed files with 447 additions and 210 deletions

View File

@@ -1,25 +1,50 @@
package router
import (
"github.com/XM-GO/PandaKit/restfulx"
restfulspec "github.com/emicklei/go-restful-openapi/v2"
"github.com/emicklei/go-restful/v3"
"pandax/apps/develop/api"
"pandax/apps/develop/services"
)
func InitGenRouter(container *restful.Container) {
// 登录日志
/* genApi := &api.GenApi{
GenTableApp: services.DevGenTableModelDao,
}
gen := router.Group("gen")
s := &api.GenApi{
GenTableApp: services.DevGenTableModelDao,
}
gen.GET("preview/:tableId", func(c *gin.Context) {
restfulx.NewReqCtx(c).WithLog("获取生成代码视图").Handle(genApi.Preview)
})
ws := new(restful.WebService)
ws.Path("/develop/code/gen").Produces(restful.MIME_JSON)
tags := []string{"codegen"}
gen.GET("code/:tableId", func(c *gin.Context) {
restfulx.NewReqCtx(c).WithLog("生成代码").Handle(genApi.GenCode)
})
ws.Route(ws.GET("/preview/{tableId}").To(func(request *restful.Request, response *restful.Response) {
restfulx.NewReqCtx(request, response).WithLog("获取生成代码视图").Handle(s.Preview)
}).
Doc("获取生成代码视图").
Param(ws.PathParameter("tableId", "Id").DataType("int").DefaultValue("1")).
Metadata(restfulspec.KeyOpenAPITags, tags).
Returns(200, "OK", map[string]any{}).
Returns(404, "Not Found", nil))
gen.GET("configure/:tableId", func(c *gin.Context) {
restfulx.NewReqCtx(c).WithLog("生成配置").Handle(genApi.GenConfigure)
})*/
ws.Route(ws.GET("/code/{tableId}").To(func(request *restful.Request, response *restful.Response) {
restfulx.NewReqCtx(request, response).WithLog("生成代码").Handle(s.GenCode)
}).
Doc("生成代码").
Param(ws.PathParameter("tableId", "Id").DataType("int").DefaultValue("1")).
Metadata(restfulspec.KeyOpenAPITags, tags).
Returns(200, "OK", map[string]any{}).
Returns(404, "Not Found", nil))
ws.Route(ws.GET("/configure/{tableId}").To(func(request *restful.Request, response *restful.Response) {
restfulx.NewReqCtx(request, response).WithLog("生成配置").Handle(s.GenConfigure)
}).
Doc("生成配置").
Param(ws.PathParameter("tableId", "Id").DataType("int").DefaultValue("1")).
Metadata(restfulspec.KeyOpenAPITags, tags).
Returns(200, "OK", map[string]any{}).
Returns(404, "Not Found", nil))
container.Add(ws)
}

View File

@@ -1,45 +1,78 @@
package router
import (
"github.com/XM-GO/PandaKit/restfulx"
restfulspec "github.com/emicklei/go-restful-openapi/v2"
"github.com/emicklei/go-restful/v3"
"pandax/apps/develop/api"
"pandax/apps/develop/services"
)
func InitGenTableRouter(container *restful.Container) {
// 登录日志
/*genApi := &api.GenTableApi{
s := &api.GenTableApi{
GenTableApp: services.DevGenTableModelDao,
}
gen := router.Group("table")
gen.GET("/db/list", func(c *gin.Context) {
restfulx.NewReqCtx(c).WithLog("获取数据库列表").Handle(genApi.GetDBTableList)
})
ws := new(restful.WebService)
ws.Path("/develop/code/table").Produces(restful.MIME_JSON)
tags := []string{"codetable"}
gen.GET("list", func(c *gin.Context) {
restfulx.NewReqCtx(c).WithLog("获取表列表").Handle(genApi.GetTablePage)
})
ws.Route(ws.GET("/db/list").To(func(request *restful.Request, response *restful.Response) {
restfulx.NewReqCtx(request, response).WithLog("获取数据库列表").Handle(s.GetDBTableList)
}).
Doc("获取数据库列表").
Metadata(restfulspec.KeyOpenAPITags, tags).
Returns(200, "OK", []map[string]any{}))
gen.GET("/info/tableName", func(c *gin.Context) {
restfulx.NewReqCtx(c).WithLog("获取表信息By tableName").Handle(genApi.GetTableInfoByName)
})
ws.Route(ws.GET("/list").To(func(request *restful.Request, response *restful.Response) {
restfulx.NewReqCtx(request, response).WithLog("获取表列表").Handle(s.GetTablePage)
}).
Doc("获取表列表").
Metadata(restfulspec.KeyOpenAPITags, tags).
Returns(200, "OK", []any{}))
gen.GET("info/:tableId", func(c *gin.Context) {
restfulx.NewReqCtx(c).WithLog("获取表信息").Handle(genApi.GetTableInfo)
})
ws.Route(ws.GET("/info/tableName").To(func(request *restful.Request, response *restful.Response) {
restfulx.NewReqCtx(request, response).WithLog("获取表信息By tableName").Handle(s.GetTableInfoByName)
}).
Doc("获取表信息By tableName").
Metadata(restfulspec.KeyOpenAPITags, tags).
Returns(200, "OK", []any{}))
gen.GET("tableTree", func(c *gin.Context) {
restfulx.NewReqCtx(c).WithLog("获取表树").Handle(genApi.GetTableTree)
})
ws.Route(ws.GET("/info/{tableId}").To(func(request *restful.Request, response *restful.Response) {
restfulx.NewReqCtx(request, response).WithLog("获取表信息").Handle(s.GetTableInfo)
}).
Doc("获取表信息").
Param(ws.PathParameter("tenantId", "租户Id").DataType("int").DefaultValue("1")).
Metadata(restfulspec.KeyOpenAPITags, tags).
Returns(200, "OK", map[string]any{}).
Returns(404, "Not Found", nil))
gen.POST("", func(c *gin.Context) {
restfulx.NewReqCtx(c).WithLog("新增表").Handle(genApi.Insert)
})
ws.Route(ws.GET("/tableTree").To(func(request *restful.Request, response *restful.Response) {
restfulx.NewReqCtx(request, response).WithLog("获取表树").Handle(s.GetTableTree)
}).
Doc("获取表树").
Metadata(restfulspec.KeyOpenAPITags, tags).
Returns(200, "OK", []any{}))
gen.PUT("", func(c *gin.Context) {
restfulx.NewReqCtx(c).WithLog("修改表").Handle(genApi.Update)
})
ws.Route(ws.POST("").To(func(request *restful.Request, response *restful.Response) {
restfulx.NewReqCtx(request, response).WithLog("新增表").Handle(s.Insert)
}).
Doc("新增表").
Metadata(restfulspec.KeyOpenAPITags, tags)) // from the request
gen.DELETE(":tableId", func(c *gin.Context) {
restfulx.NewReqCtx(c).WithLog("删除表").Handle(genApi.Delete)
})*/
ws.Route(ws.PUT("").To(func(request *restful.Request, response *restful.Response) {
restfulx.NewReqCtx(request, response).WithLog("修改表").Handle(s.Update)
}).
Doc("修改表").
Metadata(restfulspec.KeyOpenAPITags, tags)) // from the request
ws.Route(ws.DELETE("/{tableId}").To(func(request *restful.Request, response *restful.Response) {
restfulx.NewReqCtx(request, response).WithLog("删除表").Handle(s.Delete)
}).
Doc("删除表").
Metadata(restfulspec.KeyOpenAPITags, tags).
Param(ws.PathParameter("tableId", "多id 1,2,3").DataType("string")))
container.Add(ws)
}