Forráskód Böngészése

refactor,services 列表传入就行

dcsunny 1 éve
szülő
commit
0d5cd30496
2 módosított fájl, 22 hozzáadás és 9 törlés
  1. 21 9
      openapiv2/handler.go
  2. 1 0
      openapiv2/service.go

+ 21 - 9
openapiv2/handler.go

@@ -13,7 +13,7 @@ import (
 	"github.com/rakyll/statik/fs"
 )
 
-func NewHandler(handlerOpts ...HandlerOption) http.Handler {
+func NewHandler(servicesList []string, handlerOpts ...HandlerOption) http.Handler {
 	opts := &options{
 		// Compatible with default UseJSONNamesForFields is true
 		generatorOptions: []generator.Option{generator.UseJSONNamesForFields(true)},
@@ -27,15 +27,27 @@ func NewHandler(handlerOpts ...HandlerOption) http.Handler {
 	r := mux.NewRouter()
 
 	r.HandleFunc("/q/services", func(w http.ResponseWriter, r *http.Request) {
-		services, err := service.ListServices(r.Context(), &metadata.ListServicesRequest{})
-		if err != nil {
-			w.WriteHeader(500)
-			w.Write([]byte(err.Error()))
-			return
+		if len(servicesList) > 0 {
+			w.Header().Set("Content-Type", "application/json")
+			w.WriteHeader(200)
+			list := []string{
+				"api.kuban.Kuban",
+			}
+			reply := map[string][]string{
+				"services": list,
+			}
+			json.NewEncoder(w).Encode(reply)
+		} else {
+			services, err := service.ListServices(r.Context(), &metadata.ListServicesRequest{})
+			if err != nil {
+				w.WriteHeader(500)
+				w.Write([]byte(err.Error()))
+				return
+			}
+			w.Header().Set("Content-Type", "application/json")
+			w.WriteHeader(200)
+			json.NewEncoder(w).Encode(services)
 		}
-		w.Header().Set("Content-Type", "application/json")
-		w.WriteHeader(200)
-		json.NewEncoder(w).Encode(services)
 	}).Methods("GET")
 
 	r.HandleFunc("/q/service/{name}", func(w http.ResponseWriter, r *http.Request) {

+ 1 - 0
openapiv2/service.go

@@ -35,6 +35,7 @@ func (s *Service) GetServiceOpenAPI(ctx context.Context, in *metadata.GetService
 	if err != nil {
 		return "", err
 	}
+	fmt.Println(protoSet.String())
 	files := protoSet.FileDescSet.File
 	var target string
 	if len(files) == 0 {