前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >gin 框架将路由文件单独处理

gin 框架将路由文件单独处理

作者头像
句小芒
发布2022-12-29 18:14:12
6090
发布2022-12-29 18:14:12
举报
单独处理路由部分代码

在刚接触gin框架时,我们会直接在main.go 文件中定义接口,一个文件解决一切,不过这种设计是不符合设计原则的,我们需要将路由层,逻辑层,数据库交互层分离开。

代码语言:javascript
复制
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

router
router

main.go 使用自定义 HTTP 配置,代码为:

代码语言:javascript
复制
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 文件中定义路由:

代码语言:javascript
复制
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测试我们的程序啦,做到入口文件和路由文件分离的效果。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-05-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 单独处理路由部分代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档