框架引入Controller控制器设计,实现框架自动分层生成路由地址,路由根据文件目录、文件名和函数名生成,例如/business/user/account/getUserdata,我们就知道这个接口方法是在business目录下的user目录下文件名account.go文件里的GetUserdata方法,这样后期维护及其他人维护起来就可以快速找到代码位置。
下面直接上框架代码demo:
package article
// 文章评论
import (
"gofly/utils/gf"
)
// 路由标识要与文件名相同
type Comment struct{}
func init() {
fpath := Comment{}
gf.Register(&fpath, fpath)
}
// 获取数据列表
func (api *Comment) GetList(c *gf.GinCtx) {
param, _ := gf.RequestParam(c)
list, err := gf.Model("gf_article_comment").Where("article_id", param["id"]).Fields("id,name").Select()
if err != nil {
gf.Failed().SetMsg("错误").SetData(err).Regin(c)
} else {
gf.Success().SetMsg("请求成功").SetData(list).Regin(c)
}
}
// 保存数据
func (api *Comment) Save(c *gf.GinCtx) {
param, _ := gf.RequestParam(c)
dara, err := gf.Model("gf_article_comment").Save(param)
if err != nil {
gf.Failed().SetMsg("保存失败").SetData(err).Regin(c)
} else {
gf.Success().SetMsg("保存成功").SetData(dara).Regin(c)
}
}
从代码我们可以看到,用开发应用这点很容易,复杂和重复的事情框架帮忙自动完成。开发者安心开发业务就可以,简单又不限制自由,是定制开发项目最好的选择。有需要的朋友我们一起讨论及使用哦。