文章

goframe实战

编写api文件

package v1

import (
	commonApi "github.com/gogf/gf-demo-user/v2/internal/model"
	"github.com/gogf/gf/v2/frame/g"
)

type TargetSearchReq struct {
	g.Meta          `path:"/target/search" tags:"目标管理" method:"get" summary:"目标列表"`
	TargetIcp       string `p:"targetIcp"`       //备案号
	TargetDomain    string `p:"targetDomain"`    //主域名
	TargetSubdomain string `p:"targetSubdomain"` //子域名
	TargetIp        string `p:"targetIp"`        //IP
	TargetUrl       string `p:"targetUrl"`       //url
}

type TargetSearchRes struct {
	g.Meta `mime:"application/json"`
	TargetList []*entity.Target`json:"targetList"`
}

type TargetAddReq struct {
	g.Meta          `path:"/target/add" tags:"目标管理" method:"post" summary:"添加目标"`
	TargetName      string `p:"targetName"`      //项目名
	TargetIcp       string `p:"targetIcp"`       //备案号
	TargetDomain    string `p:"targetDomain"`    //主域名
	TargetSubdomain string `p:"targetSubdomain"` //子域名
	TargetIp        string `p:"targetIp"`        //IP
	TargetUrl       string `p:"targetUrl"`       //url
}

type TargetAddRes struct {
}

type TargetEditReq struct {
	g.Meta          `path:"/target/edit" tags:"目标管理" method:"put" summary:"修改目标"`
	TargetId        int64  `p:"targetId" v:"required#id必须"`
	TargetName      string `p:"targetName"`      //项目名
	TargetIcp       string `p:"targetIcp"`       //备案号
	TargetDomain    string `p:"targetDomain"`    //主域名
	TargetSubdomain string `p:"targetSubdomain"` //子域名
	TargetIp        string `p:"targetIp"`        //IP
	TargetUrl       string `p:"targetUrl"`       //url
}

type PostEditRes struct {
}

type TargetDeleteReq struct {
	g.Meta `path:"/target/delete" tags:"目标管理" method:"delete" summary:"删除目标"`
	Ids    []int `p:"ids"`
}

type PostDeleteRes struct {
}

生成controller

gf gen ctrl

实现internal/controller的代码

创建数据库,生成字段

生成dao

gf gen dao -l "mysql:root:root@tcp(127.0.0.1:3306)/test"