github.com/youminxue/odin@v0.0.0-20230216022911-c2c8b05d3a41/cmd/client.go (about)

     1  package cmd
     2  
     3  import (
     4  	"github.com/youminxue/odin/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 or Swagger 2.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  }