package app import ( "log" "reflect" cdr "git.loafle.net/commons/di-go/registry" appAnnotation "git.loafle.net/totopia/server/pkg/loafer/app/annotation" webAnnotation "git.loafle.net/totopia/server/pkg/loafer/web/annotation" ) func Run(t reflect.Type) { taServer := cdr.GetTypeAnnotation(t, appAnnotation.ServerAnnotationType) if nil == taServer { log.Printf("[%s] is not Server, use @app:Server", t.Elem().Name()) return } aServer := taServer.(*appAnnotation.ServerAnnotation) log.Printf("%s %d", t.Elem().Name(), aServer.HTTPPort) restHandlers, err := cdr.GetInstancesByAnnotationType(webAnnotation.RestHandlerAnnotationType) if nil != err { log.Printf("[%v]", err) return } for _, restHandler := range restHandlers { t := reflect.TypeOf(restHandler) ta := cdr.GetTypeAnnotation(t, webAnnotation.RestHandlerAnnotationType) if nil == ta { log.Printf("Service[%s] is not RESTService, use @RESTService", t.Elem().Name()) continue } log.Printf("%s %v", t.Elem().Name(), ta) } }