栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Go语言

GIN 2-封装路由、读取配置文件

Go语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

GIN 2-封装路由、读取配置文件

第一篇文章把GIN已经安装了,而且也测试能够启动了,现在可以进行下一步啦。

根据单一职责原则,咱们来拆分路由和控制器,路由单独封装在一个(或者多个)文件里

1、创建控制器 app/controller/user user.go

package user

import "github.com/gin-gonic/gin"

func Text(c *gin.Context) {
	c.JSON(200, gin.H{
		"message": "测试~",
	})
}

2、 创建 route 目录, 在该目录下创建 route.go

package route

import (
	"github.com/gin-gonic/gin"
	. "new_gin/app/controller/user"   // 引入本地的user包
)

func Route() {
	route := gin.Default()
	route.GET("/ping", Text) // 调用user中的Text函数
	route.Run() // listen and serve on 0.0.0.0:8080
}

3、修改main.go

package main

import (
	. "new_gin/route"  // 引入本地的 route 包
)

func main() {
	Route()  // 调用路由
}

4、启动服务

这样就拆分成功啦!

接下来咱们来试着读取配置文件

https://juejin.cn/post/6844904051369312264https://juejin.cn/post/68449040513693122641、开始安装

go get github.com/spf13/viper

 2、加载到本地目录

go mod vendor

3、新建env.toml

app_name = "自定义名称"

# possible values: DEBUG, INFO, WARNING, ERROR, FATAL
log_level = "DEBUG"

[mysql]
hostname = "你的ip地址"
port = 3306
username = "你的用户名"
database = "你的库名"
password = "密码"

[redis]
ip = "127.0.0.1"
port = 6379

4、调试代码 ,把刚才Text里的代码修改一下

func Text(c *gin.Context) {
	viper.SetConfigName("env")   // 文件名
	viper.SetConfigType("toml")  // 文件类型
	viper.AddConfigPath(".")     // 路径
	err := viper.ReadInConfig()
	if err != nil {
		log.Fatal("read config failed: %v", err)
	}

	var config = make(map[string]interface{})

	config["app_name"] = viper.Get("app_name")
	config["mysql hostname"] = viper.Get("mysql.hostname")
	config["mysql port"] = viper.Get("mysql.port")
	config["mysql username"] = viper.Get("mysql.username")
	config["mysql password"] = viper.Get("mysql.password")
	config["mysql database"] = viper.Get("mysql.database")

	c.JSON(200, gin.H{
		"message": config,
	})
}

5、跑起来没问题就完成了!

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/990132.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号