swagger聚合封装

This commit is contained in:
2025-11-28 09:28:17 +08:00
parent 067c16b7ec
commit 2e273cbded
2 changed files with 28 additions and 28 deletions

View File

@@ -36,33 +36,7 @@ var Httpclient = g.Client()
func init() { func init() {
//s.Use(common.Cors) //中间件验证 //s.Use(common.Cors) //中间件验证
//s.EnablePProf() //启用性能分析 //s.EnablePProf() //启用性能分析
Httpserver.SetOpenApiPath("/api.json") Httpserver.SetDumpRouterMap(true) //关闭打印路由注册信息
Httpserver.SetSwaggerPath("/docs") //api文档访问路径
Httpserver.SetDumpRouterMap(true) //关闭打印路由注册信息
Httpserver.SetSwaggerUITemplate(`
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="description" content="SwaggerUI"/>
<title>SwaggerUI</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/swagger-ui/5.10.5/swagger-ui.min.css" />
</head>
<body>
<div id="swagger-ui"></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/swagger-ui/5.10.5/swagger-ui-bundle.js" crossorigin></script>
<script>
window.onload = () => {
window.ui = SwaggerUIBundle({
url: '/swagger',
dom_id: '#swagger-ui',
});
};
</script>
</body>
</html>
`)
Httpserver.BindMiddlewareDefault(ghttp.MiddlewareHandlerResponse) Httpserver.BindMiddlewareDefault(ghttp.MiddlewareHandlerResponse)
go Httpserver.Run() go Httpserver.Run()
Httpclient.SetDiscovery(gsvc.GetRegistry()) Httpclient.SetDiscovery(gsvc.GetRegistry())

View File

@@ -48,7 +48,33 @@ func updateRefsRecursively(data interface{}, serviceName string) {
} }
} }
} }
func Aggregated() { func init() {
http.Httpserver.SetOpenApiPath("/api.json")
http.Httpserver.SetSwaggerPath("/docs") //api文档访问路径
http.Httpserver.SetSwaggerUITemplate(`
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="description" content="SwaggerUI"/>
<title>SwaggerUI</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/swagger-ui/5.10.5/swagger-ui.min.css" />
</head>
<body>
<div id="swagger-ui"></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/swagger-ui/5.10.5/swagger-ui-bundle.js" crossorigin></script>
<script>
window.onload = () => {
window.ui = SwaggerUIBundle({
url: '/swagger',
dom_id: '#swagger-ui',
});
};
</script>
</body>
</html>
`)
http.Httpserver.BindHandler("/swagger", func(r *ghttp.Request) { http.Httpserver.BindHandler("/swagger", func(r *ghttp.Request) {
services, _ := g.Cfg().Get(r.GetCtx(), "consul.services") services, _ := g.Cfg().Get(r.GetCtx(), "consul.services")
aggregatedDoc := &swaggerDoc{ aggregatedDoc := &swaggerDoc{