package main import ( "context" "flag" "fmt" "github.com/go-nunu/nunu-layout-advanced/cmd/server/wire" "github.com/go-nunu/nunu-layout-advanced/pkg/config" "github.com/go-nunu/nunu-layout-advanced/pkg/log" "go.uber.org/zap" ) // @title Nunu Example API // @version 1.0.0 // @description This is a sample server celler server. // @termsOfService http://swagger.io/terms/ // @contact.name API Support // @contact.url http://www.swagger.io/support // @contact.email support@swagger.io // @license.name Apache 2.0 // @license.url http://www.apache.org/licenses/LICENSE-2.0.html // @host localhost:8000 // @securityDefinitions.apiKey Bearer // @in header // @name Authorization // @externalDocs.description OpenAPI // @externalDocs.url https://swagger.io/resources/open-api/ func main() { var envConf = flag.String("conf", "config/local.yml", "config path, eg: -conf ./config/local.yml") flag.Parse() conf := config.NewConfig(*envConf) // 检查是否有环境变量指定服务类型 serviceType := log.API logger := log.NewServiceLog(conf, serviceType) app, cleanup, err := wire.NewWire(conf, logger) defer cleanup() if err != nil { panic(err) } logger.Info("server start", zap.String("host", fmt.Sprintf("http://%s:%d", conf.GetString("http.host"), conf.GetInt("http.port")))) logger.Info("docs addr", zap.String("addr", fmt.Sprintf("http://%s:%d/swagger/index.html", conf.GetString("http.host"), conf.GetInt("http.port")))) if err = app.Run(context.Background()); err != nil { panic(err) } }