feat: standardize REST and RPC routes
This commit is contained in:
@@ -1,16 +1,17 @@
|
||||
package routers
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"path"
|
||||
|
||||
"bsm/full/module/base/fts/internal/logic"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
swaggerfiles "github.com/swaggo/files"
|
||||
ginSwagger "github.com/swaggo/gin-swagger"
|
||||
)
|
||||
|
||||
func Register(srvKey string, engine *gin.Engine) {
|
||||
v1_key := fmt.Sprintf("/%s/%s", srvKey, "v1")
|
||||
v1_key := path.Join("/rest", srvKey)
|
||||
registerAnonymous(v1_key, engine)
|
||||
registerUploader(v1_key, engine)
|
||||
}
|
||||
|
||||
34
module/base/fts/internal/routers/register_test.go
Normal file
34
module/base/fts/internal/routers/register_test.go
Normal file
@@ -0,0 +1,34 @@
|
||||
package routers
|
||||
|
||||
import (
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
func TestRoutesUseRESTModulePrefix(t *testing.T) {
|
||||
gin.SetMode(gin.TestMode)
|
||||
engine := gin.New()
|
||||
Register("fts", engine)
|
||||
|
||||
expected := map[string]bool{
|
||||
"GET /rest/fts/v1/ping": false,
|
||||
"GET /rest/fts/v1/config": false,
|
||||
"POST /rest/fts/v1/uploader": false,
|
||||
}
|
||||
for _, route := range engine.Routes() {
|
||||
key := route.Method + " " + route.Path
|
||||
if _, ok := expected[key]; ok {
|
||||
expected[key] = true
|
||||
}
|
||||
if strings.HasPrefix(route.Path, "/fts/") {
|
||||
t.Fatalf("legacy route remains registered: %s", route.Path)
|
||||
}
|
||||
}
|
||||
for route, found := range expected {
|
||||
if !found {
|
||||
t.Errorf("route not registered: %s", route)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,8 @@
|
||||
package routers
|
||||
|
||||
import (
|
||||
"path"
|
||||
|
||||
"bsm/full/module/base/mgt/internal/logic/application"
|
||||
"bsm/full/module/base/mgt/internal/logic/department"
|
||||
"bsm/full/module/base/mgt/internal/logic/hello"
|
||||
@@ -14,9 +16,9 @@ import (
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
// 完成请求地址: ip:port/srvKey/group/xxx
|
||||
// 完成请求地址: ip:port/rest/srvKey/group/xxx
|
||||
func Register(srvKey string, engine *gin.Engine) {
|
||||
base := "/" + srvKey
|
||||
base := path.Join("/rest", srvKey)
|
||||
registerAnonymous(base, engine)
|
||||
registerRouters(base, engine)
|
||||
}
|
||||
|
||||
35
module/base/mgt/internal/routers/register_test.go
Normal file
35
module/base/mgt/internal/routers/register_test.go
Normal file
@@ -0,0 +1,35 @@
|
||||
package routers
|
||||
|
||||
import (
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
func TestRoutesUseRESTModulePrefix(t *testing.T) {
|
||||
gin.SetMode(gin.TestMode)
|
||||
engine := gin.New()
|
||||
Register("mgt", engine)
|
||||
|
||||
expected := map[string]bool{
|
||||
"GET /rest/mgt/ping": false,
|
||||
"POST /rest/mgt/login": false,
|
||||
"POST /rest/mgt/user/create": false,
|
||||
"POST /rest/mgt/app/fetch": false,
|
||||
}
|
||||
for _, route := range engine.Routes() {
|
||||
key := route.Method + " " + route.Path
|
||||
if _, ok := expected[key]; ok {
|
||||
expected[key] = true
|
||||
}
|
||||
if route.Path == "/mgt" || strings.HasPrefix(route.Path, "/mgt/") {
|
||||
t.Fatalf("legacy route remains registered: %s", route.Path)
|
||||
}
|
||||
}
|
||||
for route, found := range expected {
|
||||
if !found {
|
||||
t.Errorf("route not registered: %s", route)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user