gin 框架将路由文件单独处理
2023-02-18 16:47:44 时间
单独处理路由部分代码
在刚接触gin框架时,我们会直接在main.go 文件中定义接口,一个文件解决一切,不过这种设计是不符合设计原则的,我们需要将路由层,逻辑层,数据库交互层分离开。
package main
import (
"net/http"
"github.com/gin-gonic/gin"
)
func main() {
r := gin.Default()
r.GET("/", func(c *gin.Context) {
c.String(http.StatusOK, "hello word")
})
//监听端口默认为8080
r.Run(":8000")
}
那么,如何将router 单独分离出去呢?
首先,我们新建一个 routers 文件夹,这里面放置路由文件,包含一个总的router.go
main.go
使用自定义 HTTP 配置,代码为:
package main
import (
"fmt"
"gin_demo/router"
"net/http"
"time"
)
func main() {
r := router.InitRouter()
s := &http.Server{
Addr: ":8000",
Handler: r,
ReadTimeout: 10 * time.Second,
WriteTimeout: 10 * time.Second,
MaxHeaderBytes: 1 << 20,
}
s.ListenAndServe()
}
然后我们在router.go 文件中定义路由:
package router
import (
"fmt"
"net/http"
"github.com/gin-gonic/gin"
)
func InitRouter() *gin.Engine{
r := gin.New()
//定义路由
r.GET("/ping", func(c *gin.Context) {
c.String(http.StatusOK, "pong")
})
return r
}
ok,接下来直接 go run main.go
测试我们的程序啦,做到入口文件和路由文件分离的效果。
相关文章
- 多智能体强化学习算法【一】【MAPPO、MADDPG、QMIX】
- 多智能体强化学习算法【二】【MADDPG、QMIX、MAPPO】
- 新项目决定用 JDK 17了
- 多智能体强化学习算法【三】【QMIX、MADDPG、MAPPO】
- 《吐血整理》高级系列教程-吃透Fiddler抓包教程(36)-掌握Fiddler中Fiddler Script用法,你会有多牛逼-上篇
- 《吐血整理》高级系列教程-吃透Fiddler抓包教程(37)-掌握Fiddler中Fiddler Script用法,你会有多牛逼-下篇
- 环境调试bug【一】
- 【Qbot】3.加入内容审核功能
- 环境调试bug【二】无法加载源“<string>”: Source unavailable
- parser.add_argument()用法——命令行选项、参数和子命令解析器
- 一次TiDB GC阻塞引发的性能问题分析
- windows共享文件创建----局域网办公
- 【一】分布式训练---单机多卡多机多卡(飞桨paddle1.8)
- 【二】分布式训练---参数服务器训练(飞桨paddle1.8)
- BloomFilter 布隆过滤器思想原理和代码实现
- 草料二维码&腾讯云HiFlow联合直播精彩回顾
- 【三】分布式训练---单机多卡与多机多卡组网(飞桨paddle2.0+)更加推荐spawn方式!
- 强化学习调参技巧一: DDPG算法训练动作选择边界值_分析解决
- Elasticsearch 架构设计及说明
- 强化学习调参技巧二:DDPG、TD3、SAC算法为例: