From adce44dc1fab7f68e8ed18001be4dcd5adfa11a5 Mon Sep 17 00:00:00 2001 From: lq Date: Tue, 3 Aug 2021 17:24:58 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=AE=8C=E5=96=84:=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E6=A3=80=E6=9F=A5=E6=96=B0=E5=A2=9E=E8=AE=B0=E5=BD=95-?= =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E6=8E=A5=E5=8F=A3=E6=B3=A8=E9=87=8A=E8=A1=A5?= =?UTF-8?q?=E5=85=85=E6=8E=A5=E5=8F=A3=E5=90=8D=E7=A7=B0=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/admin/models/sys_api.go | 20 +++++++++++++++++++- go.mod | 1 + 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/app/admin/models/sys_api.go b/app/admin/models/sys_api.go index dc85db21..8654b446 100644 --- a/app/admin/models/sys_api.go +++ b/app/admin/models/sys_api.go @@ -1,10 +1,14 @@ package models import ( + "bytes" "encoding/json" "fmt" + "io/ioutil" + "regexp" "strings" + "github.com/bitly/go-simplejson" "github.com/go-admin-team/go-admin-core/sdk" "github.com/go-admin-team/go-admin-core/sdk/runtime" "github.com/go-admin-team/go-admin-core/storage" @@ -58,8 +62,22 @@ func SaveSysApi(message storage.Messager) (err error) { strings.Contains(v.RelativePath, "/static/") || strings.Contains(v.RelativePath, "/form-generator/") || strings.Contains(v.RelativePath, "/sys/tables") { + + // 根据接口方法注释里的@Summary填充接口名称,适用于代码生成器 + // 可在此处增加配置路径前缀的if判断,只对代码生成的自建应用进行定向的接口名称填充 + busType := "BUS" // 默认"业务"类型 + jsonFile, _ := ioutil.ReadFile("docs/swagger.json") + jsonData, _ := simplejson.NewFromReader(bytes.NewReader(jsonFile)) + urlPath := v.RelativePath + idPatten := "(.*)/:(\\w+)" // 正则替换,把:id换成{id} + reg, _ := regexp.Compile(idPatten) + if reg.MatchString(urlPath) { + urlPath = reg.ReplaceAllString(v.RelativePath, "${1}/{${2}}") // 把:id换成{id} + } + apiTitle, _ := jsonData.Get("paths").Get(urlPath).Get(strings.ToLower(v.HttpMethod)).Get("summary").String() + err := d.Debug().Where(SysApi{Path: v.RelativePath, Action: v.HttpMethod}). - Attrs(SysApi{Handle: v.Handler}). + Attrs(SysApi{Handle: v.Handler, Title: apiTitle, Type: busType}). FirstOrCreate(&SysApi{}). //Update("handle", v.Handler). Error diff --git a/go.mod b/go.mod index cc91399a..37d676c2 100644 --- a/go.mod +++ b/go.mod @@ -6,6 +6,7 @@ require ( github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 github.com/alibaba/sentinel-golang v0.6.1 github.com/aliyun/aliyun-oss-go-sdk v0.0.0-20190307165228-86c17b95fcd5 + github.com/bitly/go-simplejson v0.5.0 github.com/bytedance/go-tagexpr/v2 v2.7.12 github.com/casbin/casbin/v2 v2.25.1 github.com/gin-gonic/gin v1.7.2 From 325c91989ce29aa55bfa0c59e1763cc0505f0a85 Mon Sep 17 00:00:00 2001 From: zhangwenjian Date: Fri, 6 Aug 2021 10:35:09 +0800 Subject: [PATCH 2/2] =?UTF-8?q?refactor=F0=9F=8E=A8:=20api=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E6=B7=BB=E5=8A=A0=E4=B8=8D=E8=AE=BE=E7=BD=AE=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/admin/models/sys_api.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/app/admin/models/sys_api.go b/app/admin/models/sys_api.go index 8654b446..af8c41ad 100644 --- a/app/admin/models/sys_api.go +++ b/app/admin/models/sys_api.go @@ -65,7 +65,6 @@ func SaveSysApi(message storage.Messager) (err error) { // 根据接口方法注释里的@Summary填充接口名称,适用于代码生成器 // 可在此处增加配置路径前缀的if判断,只对代码生成的自建应用进行定向的接口名称填充 - busType := "BUS" // 默认"业务"类型 jsonFile, _ := ioutil.ReadFile("docs/swagger.json") jsonData, _ := simplejson.NewFromReader(bytes.NewReader(jsonFile)) urlPath := v.RelativePath @@ -77,7 +76,7 @@ func SaveSysApi(message storage.Messager) (err error) { apiTitle, _ := jsonData.Get("paths").Get(urlPath).Get(strings.ToLower(v.HttpMethod)).Get("summary").String() err := d.Debug().Where(SysApi{Path: v.RelativePath, Action: v.HttpMethod}). - Attrs(SysApi{Handle: v.Handler, Title: apiTitle, Type: busType}). + Attrs(SysApi{Handle: v.Handler, Title: apiTitle}). FirstOrCreate(&SysApi{}). //Update("handle", v.Handler). Error