Files
web_huangguo2_server/pub/common/swaggerutil/swagger.go
T
2026-09-29 10:47:38 +08:00

28 lines
890 B
Go

package swaggerutil
import (
"fmt"
"videoweb/pub/common/netutil"
"github.com/gin-gonic/gin"
swaggerFiles "github.com/swaggo/files"
ginSwagger "github.com/swaggo/gin-swagger"
)
func isDevHost(runMode string, svcListenIp string) bool {
localIp := netutil.GetLocalIP()
return (runMode == "dev" || runMode == "debug") && localIp != svcListenIp
}
func SetupGinSwagger(runMode, svcListenIp, svcListenPort string) func(r *gin.Engine) {
return func(r *gin.Engine) {
if isDevHost(runMode, svcListenIp) {
url := ginSwagger.URL(fmt.Sprintf("http://%s:%s/swagger/doc.json", netutil.GetLocalIP(), svcListenPort))
r.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler, url))
} else {
url := ginSwagger.URL(fmt.Sprintf("http://%s:%s/swagger/doc.json", svcListenIp, svcListenPort))
r.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler, url))
}
}
}