这次打算使用gin框架,搭建一个小项目,实现任务清单的功能,可以对完成的任务进行确认,也可以删除,主要逻辑上实现对待办事项的增删改查功能。
前言
Gin是一种用于构建高性能Web应用程序的Go语言框架。它以其轻量级、快速和易于使用而闻名。Gin基于Go的标准库,并在其基础上提供了一组强大的工具和中间件,使开发人员能够高效地构建可扩展的Web服务。
Gin的特点包括:
- 快速高效: Gin以极低的性能开销提供快速的HTTP路由和请求处理。它采用了Radix树和哈希映射等优化技术,以确保高吞吐量和低延迟。
- 路由和中间件: Gin提供了简洁灵活的路由器,能够根据请求路径和HTTP方法将请求映射到相应的处理函数。中间件机制允许开发人员在请求处理前后插入自定义逻辑,如身份验证、日志记录等。
- JSON序列化: Gin内置了强大的JSON序列化和反序列化支持,使开发人员可以轻松地将结构体转换为JSON格式,并从JSON数据创建Go对象。
- 错误处理: Gin提供了方便的错误处理机制,允许开发人员定义和返回自定义错误消息和HTTP状态码。
- 分组和版本控制: Gin支持将路由分组为不同的模块,从而更好地组织代码。此外,它还支持通过URL路径指定API版本,以便在进行API演进时进行版本控制。
- 日志和调试: Gin提供了日志记录功能,能够捕获请求和响应的详细信息,以便于调试和监控应用程序。
- 插件生态系统: 尽管Gin本身是轻量级的,但它的插件生态系统丰富多样,开发人员可以根据项目需求集成各种功能。
总之,Gin是一个出色的Go语言框架,适用于构建高性能的Web应用程序和API。无论是小型项目还是大规模的应用,Gin都为开发人员提供了强大的工具来简化开发流程并提高效率。
前端
使用现成的Vue框架搭建的前端模板。首先去git hub上克隆一下前端代码:Q1mi/bubble_frontend: bubble frontend base vue2.0 (github.com)
克隆岛本地之后的项目目录:
之后,在目录下打开cmd
npm install
下载相关依赖,之后再使用
npm run build
对项目进行打包,生成dist目录,目录下的内容如下:
包含一个html文件和static文件夹,内含css和json和fonts
后端
创建项目,将前端打包的好号的dist目录下的文件拷贝到项目中
可以看到,index.html static文件夹都被拷贝过来了。
之后,建立template文件夹,将前端代码放进去,编写main.go文件如下:
package main
import (
"github.com/gin-gonic/gin"
"net/http"
)
func main() {
r := gin.Default()
//告诉gin框架模板文件引用的静态文件去哪里找
r.Static("/static", "static")
// 告诉gin框架去哪里找模板文件
r.LoadHTMLGlob("templates/*")
r.GET("/", func(c *gin.Context) {
c.HTML(http.StatusOK, "index.html", nil)
})
r.Run()
}
运行项目,访问localhostL:8080便可以看到前端界面:
之后,简历结构体与前端进行对接:
实现的结果
具体实现的过程就不一一详述了,感兴趣的同学可以访问我的github项目地址:yehowlong/bubble: Gin框架小项目再实践之任务清单增删改查 (github.com)
下面是增删改查功能的展示: 增加一个任务:
删除一个任务:
修改一个任务的状态:
查询所有任务:
访问主页自动查询所有任务
参考
lesson25_小清单项目启动_哔哩哔哩_bilibili
Q1mi/bubble_frontend: bubble frontend base vue2.0 (github.com)