本节次要介绍如何新增一个接口及接口命名规定,比方新增一个增加文章分类(在cate.go间接增加一个func函数-单个接口)、和新增一个文章评论的性能(新增加一个.go文件多个接口),咱们用两个例子阐明这个中状况开发。
接口命名规定

1.GET申请命名

当接口以Get结尾命名,比方GetList、GetData、Get_list、Get时候就路由就把它注册成get申请。

2.DELETE申请命名

当接口以Del结尾命名,比方DelArticle、DelData、Del时候就路由就把它注册成delete申请。

3.PUT申请命名

当接口以Put结尾命名,比方PutArticle、PutData、Put时候就路由就把它注册成put申请。

4.GetPost申请命名

当接口以GetPost结尾命名,比方GetPostArticle、GetPostData、GetPost时候就路由就把它注册成2个申请形式门路,一个是get申请、一个是post申请,这种命名形式是为了接口能同时满足get和post申请,比方在微信公众号接管服务接口,它在验证无效是get申请、推送数据时是post申请。

5.默认是Post申请

除去以上Get、Del、Put、GetPost结尾命名形式以外命名,零碎将默认注册成Post申请形式。例如:Save、Status、DoMore、OnLink、Update等等都是Post申请。

6.特地阐明

因为go语言规定,为了能让其余package调用办法,所以首字母必须大写,然而接口为了满足驼峰命名规定,增加到路由上的地址时把命名的办法首字母改为小写,例如GetList变成getList、DelArticle变成delArticle、PutArticle变成putArticle、GetPostArticle变成getPostArticle、Save变成save等。
已有文件增加接口
当初 app\business\article\cate.go下存在cate.go文件,当初原有文件里增加Save来保留增加文章分类数据,代码如下:

package articleimport (    "gofly/utils/gf")type Cate struct{}// 文章分类func init() {    fpath := Cate{}    gf.Register(&fpath, fpath)}// 保留数据func (api *Cate) Save(c *gf.GinCtx) {    param, _ := gf.RequestParam(c)    dara, err := gf.Model("gf_article_cate").Save(param)    if err != nil {        gf.Failed().SetMsg("保留失败").SetData(err).Regin(c)    } else {        gf.Success().SetMsg("保留胜利").SetData(dara).Regin(c)    }}

这样就胜利增加了save接口,就能够用http://127.0.0.1:8110/business/article/cate/save 提交数据了,如下:

新增go文件增加接口1.在app/business/article新建文件comment.go。新增文件中增加int函数引入路由,包名(package)为article,并用文件名comment作为路由名,代码如下:

package article// 文章评论import (    "gofly/utils/gf")// 路由标识要与文件名雷同type Comment struct{}func init() {    fpath := Comment{}    gf.Register(&fpath, fpath)}

其中type Comment struct{}和 fpath := Comment{} 中的Comment就是评论路由文件名,前面新增其余文件改成对应文件名称。
2.增加接口,增加获取评论列表和保留评论两个接口,别离命名为:GetList和Save 代码如下:

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)    }}

留神:函数前加 (api Comment) 其中Comment是type Comment struct{} 中Comment ,前面新增其余文件改成对应文件名。
到此新增文件及接口实现,在终端就看到新增路由了,如下图: