genapi

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 22, 2025 License: MIT Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var CmdGen = &cobra.Command{
	Use:   "api",
	Short: "Generate API handler & route",
	RunE: func(cmd *cobra.Command, args []string) error {
		moduleName, err := gzutil.GetModuleName()
		if err != nil {
			return fmt.Errorf("获取当前项目Module名失败, 错误为: [%v] \n", err)
		}
		if src == "" {
			return fmt.Errorf("输入api文件所在的路径")
		}
		if output == "" {
			return fmt.Errorf("输入生成的代码存放路径")
		}

		viper.SetDefault("App.RouterPrefix", "api/v1")
		viper.SetDefault("App.Addr", ":18168")
		gaGen := newGen(&gaContext{
			packageName:        moduleName,
			src:                src,
			output:             output,
			needRequestLog:     requestLog,
			routerPrefix:       strings.TrimLeft(viper.GetString("App.RouterPrefix"), "/"),
			addr:               ":" + strings.TrimLeft(viper.GetString("App.Addr"), ":"),
			dtoPackageName:     "dto",
			logicPackageName:   "logic",
			logicFuncName:      make(map[string]string),
			logicName:          make(map[string]string),
			handlerPackageName: "handler",
			handlerName:        make(map[string]string),
			routerPackageName:  "router",
			serverPackageName:  "bootstrap",
		})
		if err = gaGen.Do(); err != nil {
			return fmt.Errorf("自动生成代码失败, 错误为: [%v]", err)
		}

		return nil
	},
}

Functions

This section is empty.

Types

type EnterGoTemplateData

type EnterGoTemplateData struct {
	RouterPrefix              string
	NeedRequestLog            bool
	GroupName                 string
	InitPublicFunctions       string
	InitPrivateAuthFunctions  string
	InitPrivateTokenFunctions string
}

type RouteGroupTemplateData

type RouteGroupTemplateData struct {
	GroupName  string
	RouteGroup string
	Middleware []RouteMiddleware
	Routes     []RouteSpecTemplateData
}

type RouteMiddleware

type RouteMiddleware struct {
	GroupName string
	InGina    bool
	Name      string
}

type RouteSpecTemplateData

type RouteSpecTemplateData struct {
	GroupName       string
	Method          string
	Path            string
	HandlerPackName string
	HandlerName     string
}

type RouteTemplateData

type RouteTemplateData struct {
	NowGroupName    string
	HandlerPackPath string
	Routes          []RouteGroupTemplateData
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL