mirror of
https://github.com/EZ-Api/ez-api.git
synced 2026-01-13 17:47:51 +00:00
feat(swagger): support dynamic host via EZ_SWAGGER_HOST env var
- Add ServerConfig.SwaggerHost field - Set docs.SwaggerInfo.Host dynamically at startup - Update docker-compose, k8s manifests, and .env.example
This commit is contained in:
@@ -23,7 +23,8 @@ type Config struct {
|
||||
}
|
||||
|
||||
type ServerConfig struct {
|
||||
Port string
|
||||
Port string
|
||||
SwaggerHost string // Swagger UI 显示的 Host (可选,留空则使用相对路径)
|
||||
}
|
||||
|
||||
type CORSConfig struct {
|
||||
@@ -83,6 +84,7 @@ func Load() (*Config, error) {
|
||||
v := viper.New()
|
||||
|
||||
v.SetDefault("server.port", "8080")
|
||||
v.SetDefault("server.swagger_host", "")
|
||||
v.SetDefault("cors.allow_origins", "*")
|
||||
v.SetDefault("postgres.dsn", "host=localhost user=postgres password=postgres dbname=ezapi port=5432 sslmode=disable")
|
||||
v.SetDefault("redis.addr", "localhost:6379")
|
||||
@@ -114,6 +116,7 @@ func Load() (*Config, error) {
|
||||
v.AutomaticEnv()
|
||||
|
||||
_ = v.BindEnv("server.port", "EZ_API_PORT")
|
||||
_ = v.BindEnv("server.swagger_host", "EZ_SWAGGER_HOST")
|
||||
_ = v.BindEnv("cors.allow_origins", "EZ_CORS_ALLOW_ORIGINS")
|
||||
_ = v.BindEnv("postgres.dsn", "EZ_PG_DSN")
|
||||
_ = v.BindEnv("redis.addr", "EZ_REDIS_ADDR")
|
||||
@@ -158,7 +161,8 @@ func Load() (*Config, error) {
|
||||
|
||||
cfg := &Config{
|
||||
Server: ServerConfig{
|
||||
Port: v.GetString("server.port"),
|
||||
Port: v.GetString("server.port"),
|
||||
SwaggerHost: strings.TrimSpace(v.GetString("server.swagger_host")),
|
||||
},
|
||||
CORS: CORSConfig{
|
||||
AllowOrigins: splitCommaList(v.GetString("cors.allow_origins")),
|
||||
|
||||
Reference in New Issue
Block a user