github.com/unionj-cloud/go-doudou@v1.3.8-0.20221011095552-0088008e5b31/cmd/client.go (about) 1 package cmd 2 3 import ( 4 "github.com/unionj-cloud/go-doudou/cmd/internal/svc" 5 6 "github.com/spf13/cobra" 7 ) 8 9 var docfile string 10 var baseURLEnv string 11 var clientpkg string 12 13 // clientCmd generates http client code 14 var clientCmd = &cobra.Command{ 15 Use: "client", 16 Short: "generate http client from openapi 3.0 spec json file", 17 Long: ``, 18 Run: func(cmd *cobra.Command, args []string) { 19 s := svc.Svc{ 20 DocPath: docfile, 21 Omitempty: omitempty, 22 Env: baseURLEnv, 23 ClientPkg: clientpkg, 24 } 25 s.GenClient() 26 }, 27 } 28 29 func init() { 30 httpCmd.AddCommand(clientCmd) 31 32 clientCmd.Flags().StringVarP(&docfile, "file", "f", "", `openapi 3.0 spec json file path or download link`) 33 clientCmd.Flags().StringVarP(&baseURLEnv, "env", "e", "", `base url environment variable name`) 34 clientCmd.Flags().StringVarP(&clientpkg, "pkg", "p", "client", `client package name`) 35 clientCmd.Flags().BoolVarP(&omitempty, "omit", "o", false, `json tag omitempty`) 36 }