Go开发也可以像php一样舒服,Gin自动路由配合强大的ORM让开发变得一种享受。

72 阅读1分钟

框架引入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)
	}
}

从代码我们可以看到,用开发应用这点很容易,复杂和重复的事情框架帮忙自动完成。开发者安心开发业务就可以,简单又不限制自由,是定制开发项目最好的选择。有需要的朋友我们一起讨论及使用哦。