package main import ( "flag" "net/http" "time" "github.com/gin-gonic/gin" "github.com/sirupsen/logrus" "github.com/spf13/viper" ) const ( APPNAME = "snippet" ) // @title 浙大城院产业互联-GIN标准结构 // @version 1.0 // @description 宁波团队提供技术支持 // @termsOfService https://myschools.me/ // @contact.name suguo.yao // @contact.url https://myschools.me/suguo/snippet // @contact.email ysg@myschools.me // @securityDefinitions.basic BasicAuth // @securitydefinitions.oauth2.application OAuth2Application // @tokenUrl https://example.com/oauth/token // @scope.write Grants write access // @scope.admin Grants read and write access to administrative information // @host s1.xintijiao.com // @BasePath / func main() { //配置读取 cf := flag.String("config", "config.yaml", "file of config") flag.Parse() viper.SetConfigFile(*cf) if err := viper.ReadInConfig(); err != nil { panic(err) } //进行组件初始化 //api 服务启动 router := gin.New() setupRouter(router) s := &http.Server{ Addr: viper.GetString("app.host"), Handler: router, ReadTimeout: 10 * time.Second, WriteTimeout: 10 * time.Second, MaxHeaderBytes: 1 << 20, } logrus.WithFields(logrus.Fields{ "func": "main", }).Infof("%s service on %s", APPNAME, viper.GetString("app.host")) logrus.Fatal(s.ListenAndServe()) }