基于Gin开发设计媲美PHP开发体验的Go快速开发框架开发实战

本文介绍了如何在GoFly快速开发后台框架中新增接口,包括单个接口的添加(如cate.go中的Save方法)和多个接口的文件(如comment.go中的GetList和Save方法)。详细讲解了接口的命名规则和如何利用框架自动注册路由以简化开发过程。
摘要由CSDN通过智能技术生成

本文章主要介绍GoFly快速开发后台框架如何新增一个接口接口命名规则,比如新增一个添加文章分类(在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 article

import (
    "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 ,后面新增其他文件改成对应文件名。

到此新增文件及接口完成,在终端就看到新增路由了,如下图:

框架自动把你新增接口加到路由中,加上热编译,这样就可以边开发边测试,减少手动添加路由错误导致路由与实际接口文件路径对不上,后期找代码修改找不位置。自动加载就可以避免这些错误提高代码维护性,可读性。

GoFly框架开发后台框架V2版做到开发速度快、框架严谨、复用的高、框架简洁、代码精简、开发文档全且详情。适合企业项目开发、多人一起开发项目、项目周期长、人员变更频繁项目。适合php转Go的开发者,新入行的开发者,在校学习大学生,自学编写的开发者都可以使用GoFly快速开发框架v2版开发者项目、实战作品、创业项目。

温馨提示:

我们不生产框架,只是优秀框的架搬运工!好用你就用,不合适您玩您的!

框架目录结构

├── app                       # 应用目录
│   ├── admin                # 后台管理应用模块(安装saas时存在)
│   ├── business             # 业务端应用模块
│   ├── common               # 公共应用模块
│   └── controller.go        # 应用控制器
├── devsource                 # 开发静态资源(安装界面)
├── resource                  # 静态资源及配置文件-发布应用带上
├── runtime                   # 运行时文件
├── tmp                       # 开发是使用fresh热编译 产生临时文件
├── utils                     # 框架核心代码及工具包
├── views                     # 前端-后台管理系统(Vue + ts)代码
├── go.mod                    # 依赖包管理工具
├── go.sum         
├── main.go                   # main函数       
├── runner.conf               #fresh热编译配置文件
└── README.md                 # 项目介绍

管理后台界面 

不仅是开发快,后台管理界面也漂亮,只要界面体验感好才得到使用可以认可,一起欣赏一下!后台在线体验地址后台框架开发社区获取框架代码

暗黑主题 

白色主题

 

 文件管理器、图片可以复用,节省存储空间

代码生成、多个模板选择
  • 28
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值