gin博客项目复盘--01配置文件使用

简介: 初始化gin项目,设置 go mod GOPROXY=https://goproxy.cn,direct

gin 文档

gin-gonic.com/zh-cn/docs/

初始化gin项目

  1. 设置 go mod GOPROXY=https://goproxy.cn,direct
  2. go mod init projectName
  3. 配置 go build

image.png

  1. 安装 gingo get -u ginhub.com/gin-gonic/gin #-u 如果存在则更新
  2. gin目录框架
├─api--前后端分离├─config--管理网站配置参数├─middleware--中间件├─model--管理数据库├─routes--路由├─utils--公共工具,全局使用├─web--前端页面├─main.go复制代码
  1. 分析业务功能,创建数据库

配置文件的使用

  • 我们使用 .ini 来作为网站的配置文件
  • 文档地址:ini.unknwon.io/docs/intro
  • 项目中安装包:go get gopkg.in/ini.v1
  1. 项目根目录新建 config/config.ini

ini 的使用分为:分区、键和值

config/config.ini

[server]
AppMode = debug
HttpPort = :3000
[database]
Db = mysql
Dbhost = localhost
DbUser =
DbPassWord =
DbName = ginVue3blog
复制代码
  1. utils 中读取配置文件数据
  • 声明配置文件中的全局变量
  • 全局变量读取赋值
  • 安装包:go get -u gopkg.in/ini.v1详情参考 文档地址:ini.unknwon.io/docs/intro

utils/setting

package utils
import (
  "fmt"
  "gopkg.in/ini.v1"
)
var (
  AppMode  string
  HttpPort string
  Db         string
  DbHost     string
  DbPort     string
  DbUser     string
  DbPassWord string
  DbName     string
)
func init() {
  cfg, err := ini.Load("../config/config.ini")
  if err != nil {
    fmt.Printf("Fail to read file: %v", err)
  }
  AppMode = cfg.Section("server").Key("AppMode").MustString("debug")
  HttpPort = cfg.Section("server").Key("HttpPort").MustString("debug")
  Db = cfg.Section("database").Key("Db").MustString("mysql")
  DbHost = cfg.Section("database").Key("DbHost").MustString("localhost")
  DbPort = cfg.Section("database").Key("Db Port").MustString("3306")
  DbUser = cfg.Section("database").Key("DbUser").MustString("root")
  DbPassWord = cfg.Section("database").Key("DbPassWord").MustString("wucs123")
  DbName = cfg.Section("database").Key("DbName").MustString("ginVue3blog")
}
复制代码
  1. 路由 routes/router
package routes
import (
  setting "ginVue3blog/utils"
  "github.com/gin-gonic/gin"
  "net/http"
)
func InitRouter() {
  gin.SetMode(setting.AppMode)
  r := gin.Default()
  router := r.Group("api/v1")
  {
    router.GET("hello", func(c *gin.Context) {
      c.JSON(http.StatusOK, gin.H{
        "msg": "ok",
      })
    })
  }
  //此函数可以返回一个引擎 *gin.Engine ,然后main函数调用运行
  //也可以不返回,直接run运行
  r.Run(setting.HttpPort)
}
复制代码
  1. 运行测试 main.go
package main
import "ginVue3blog/routes"
func main() {
  //引入路由
  routes.InitRouter()
}


相关文章
|
3月前
|
Shell 网络安全 开发工具
Github Pages + Jekyll 独立博客一小时快速搭建&上线指南
Github Pages + Jekyll 独立博客一小时快速搭建&上线指南
|
3月前
|
SQL 关系型数据库 MySQL
【Seata1.5.2 下载 & 配置 & 整合 & 踩坑 & 测试】—— 含各种踩坑记录(详细版)(上)
【Seata1.5.2 下载 & 配置 & 整合 & 踩坑 & 测试】—— 含各种踩坑记录(详细版)
601 0
|
3月前
|
SQL Java 数据库
【Seata1.5.2 下载 & 配置 & 整合 & 踩坑 & 测试】—— 含各种踩坑记录(详细版)(下)
【Seata1.5.2 下载 & 配置 & 整合 & 踩坑 & 测试】—— 含各种踩坑记录(详细版)(下)
228 0
|
3月前
|
JavaScript
源码阅读之 create-vite —— 阅读前的准备工作
源码阅读之 create-vite —— 阅读前的准备工作
61 0
|
数据采集 数据挖掘 Shell
[Hexo]部署博客及更新博文
找到其中的 deploy 标签,改成下图所示形式,并保存。注意:冒号后面要加上一个空格,否则会报错。
|
JSON 前端开发 Java
Bug实录 | 第一篇 :重写WebMvcConfigurationSupport后SpringBoot自动配置失效
Bug实录 | 第一篇 :重写WebMvcConfigurationSupport后SpringBoot自动配置失效
|
前端开发 NoSQL Java
手把手教小伙伴们使用 Nginx 部署 TienChin 项目!
手把手教小伙伴们使用 Nginx 部署 TienChin 项目!
|
域名解析 网络安全 数据安全/隐私保护
vuepress2.0踩坑记录
当我们设置一个默认自定义首页,然后开启左侧菜单栏时,此时首页也会出现左侧菜单栏
604 0
vuepress2.0踩坑记录
|
数据库
gin博客项目复盘--02数据库的搭建
gorm 原来的版本已经废弃,新版本进行了迁移,地址:gorm.io/。本节主要讲解新版本。
116 0
gin博客项目复盘--02数据库的搭建
|
JSON 算法 中间件
gin博客项目复盘--05 JWT全面解读、详细使用步骤
通俗地说,JWT的本质就是一个字符串,它是将用户信息保存到一个Json字符串中,然后进行编码后得到一个JWT token,并且这个JWT token带有签名信息,接收后可以校验是否被篡改,可以用于在各方之间安全地将信息作为Json对象传输。
229 0
gin博客项目复盘--05 JWT全面解读、详细使用步骤