123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- 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)
- }
- }
|