记录一下GODDD项目使用
项目地址
https://github.com/ixugo/goddd
1.在根目录创建tables文件夹,创建包subscription_options及结构体
type SubscriptionOptions struct {
ID int
CreatedAt orm.Time
UpdatedAt orm.Time
DefaultUrl string // 用于指定默认URL
Target string // 必填参数
Url string
}
2.在终端执行代码生成
https://github.com/ixugo/godddx
godddx -f ./tables/subscription_options/subscription_options.go
3.在provider添加set以及Usecase:
var (
ProviderVersionSet = wire.NewSet(versionapi.NewVersionCore)
SubscriptionOptionsSet = wire.NewSet(NewSubscriptionOptionsCore)
ProviderSet = wire.NewSet(
wire.Struct(new(Usecase), "*"),
NewHTTPHandler,
versionapi.New,
NewSubscriptionOptionsAPI,
)
)
type Usecase struct {
Conf *conf.Bootstrap
DB *gorm.DB
Version versionapi.API
SubscriptionOptions SubscriptionOptionsAPI
}
4.在web/api/api.go加入register
RegisterSubscriptionOptions(r, uc.SubscriptionOptions, auth)
5.在wire.go添加
api.SubscriptionOptionsSet
6.并且在终端执行
go generate ./internal/app