From a498ce3f8b951937f76c3ea3d788784c9a1ec2d3 Mon Sep 17 00:00:00 2001 From: "leitao.zhang" Date: Fri, 30 Oct 2020 14:38:20 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=A5=E5=8F=A3id?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- go.mod | 1 + go.sum | 2 ++ src/handler/proxyhandler.go | 3 ++- src/router/router.go | 1 + src/service/field.go | 7 ++++++- 5 files changed, 12 insertions(+), 2 deletions(-) diff --git a/go.mod b/go.mod index 09b7df1..a648948 100644 --- a/go.mod +++ b/go.mod @@ -22,6 +22,7 @@ require ( github.com/onsi/ginkgo v1.10.2 // indirect github.com/onsi/gomega v1.7.0 // indirect github.com/sirupsen/logrus v1.4.2 + github.com/spf13/cast v1.3.1 github.com/spf13/pflag v1.0.5 github.com/tealeg/xlsx v1.0.5 // indirect github.com/vulcand/oxy v1.0.0 diff --git a/go.sum b/go.sum index 57ebcd2..43803b1 100644 --- a/go.sum +++ b/go.sum @@ -143,6 +143,8 @@ github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqn github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/spf13/cast v1.3.1 h1:nFm6S0SMdyzrzcmThSipiEubIDy8WEXKNZ0UOgiRpng= +github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= diff --git a/src/handler/proxyhandler.go b/src/handler/proxyhandler.go index 4616dc6..62c599a 100644 --- a/src/handler/proxyhandler.go +++ b/src/handler/proxyhandler.go @@ -32,8 +32,9 @@ func Proxy(c *gin.Context) { c.JSON(200, res) return } + apiId := c.Param("apiid") //获取服务相关信息 - proxyData, err := service.GetRealPath(applyId) + proxyData, err := service.GetRealPath(applyId, apiId) if err != nil { fmt.Println("err......", err.Error()) diff --git a/src/router/router.go b/src/router/router.go index 61f498a..3373f97 100644 --- a/src/router/router.go +++ b/src/router/router.go @@ -34,6 +34,7 @@ func Load(middleware ...gin.HandlerFunc) http.Handler { { root.GET("/health", handler.HealthCheck) root.Any("/service/:applyId", handler.Proxy) + root.Any("/service/:applyId/:apiid", handler.Proxy) } return e } diff --git a/src/service/field.go b/src/service/field.go index b6a5cff..29f3376 100644 --- a/src/service/field.go +++ b/src/service/field.go @@ -11,6 +11,7 @@ import ( "encoding/json" "errors" "fmt" + "github.com/spf13/cast" "gitlab.wodcloud.com/apaas/apaas-meshproxy/src/client" "gitlab.wodcloud.com/apaas/apaas-meshproxy/src/config" "gitlab.wodcloud.com/apaas/apaas-meshproxy/src/dao" @@ -431,10 +432,14 @@ func FilterSensituveField(model interface{}, returnData interface{}) (body inter } // 获取真实地址和返回结构、调用限定次数 -func GetRealPath(applyId string) (res model.ProxyData, err error) { +func GetRealPath(applyId, apiId string) (res model.ProxyData, err error) { db, err := client.GetConnect() if err != nil { return + } + apiid := cast.ToInt64(apiId) + if apiid == 0 { + } has, err := db. Select(`service_apply.res_fields as res_fields,service.req_url as req_url,service_request_spcs.count as count,service_safe_config.sensituve_word as sensituve_word -- 2.26.0