使用gin+bootstrap开发一个简单的博客系统(开源),超详细讲解

本文详述如何使用Gin框架和Bootstrap构建一个博客系统,涵盖路由设置、静态资源加载、模板处理、数据库操作及RESTful规范。同时,文章提及了ActiveMQ、Kafka和RabbitMQ的学习资料。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 运行服务

    路由实例监听端口运行服务

router 路由

====================================================================

在 java spring 框架中,路由是通过注解的形式放在控制器上方的,java 中的注解比较强大,运行了 application 时候相当于 go 中注册了路由,并将路由绑定到了控制器,并进行了监听,要知道 go 中路由的写明和绑定控制器需要程序员自己去写明

我的博客系统中所有的路由都是放在一个 go 的路由文件中,并且 package 是 router,其中主要做的 5 项操作

创建路由实例

要知道 gin 框架底层使用的就是 httprouter,所以通过 gin 框架的 gin 包可以产生一个默认的路由实例


r := gin.Default() 

静态资源加载

使用 Static 函数来加载前端的静态资源

前端模版加载

使用 LoadHTMLGlob 函数来家在前端 html 模版,之所以没有使用view/*的形式,是因为 view 包下面的 html 模版依据博客系统的模块进行了分类


r.LoadHTMLGlob("view/**/*") 

中间件的使用

在路由注册之前需要声明使用的中间件,这样在执行某个路由之前,就会先执行一下中间件的操作。这里使用的中间件是 session 的中间件,写法如下:


// UseSession session 中间件

func UseSession() gin.HandlerFunc {

	store := cookie.NewStore([]byte("loginUser"))

	return sessions.Sessions("loginUser", store)

} 

中间件都需要返回gin.HandlerFunc,然后在 router 中通过如下方式完成中间件的声明


r.Use(middleware.UseSession()) 

值得注意的是通过 GET 或者 POST 注册路由的函数中第二个参数的类型也是gin.HandlerFunc,注册路由时候第二个参数一般填写的是 controller 的函数名。中间件声明之后在 controller 中即可通过如下方式来保存用户 session 了


// c *gin.Context,s Session

s := sessions.Default(c)

// 保存用户 session

s.Set("loginUser", username) 

路由注册

接下来我们来做 GET/POST 路由注册,依据 restful 规范,我们划分了一下模块,主要注册了以下几大类的路由

  • 首页路由

  • 注册页路由

  • 登录页路由

  • 文章相关页面路由

  • 关于我页面路由

注册路由中传递的参数是路由名称和路由需要绑定的 controller 函数名,值得注意的是 controller 函数名是属于gin.HandlerFunc类型。最后 InitRouter 函数返回*gin.Context类型路由,供 main 函数调用

model 层

===============================================================

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值