NipGeihou's blog NipGeihou's blog
  • Java

    • 开发规范
    • 进阶笔记
    • 微服务
    • 快速开始
    • 设计模式
  • 其他

    • Golang
    • Python
    • Drat
  • Redis
  • MongoDB
  • 数据结构与算法
  • 计算机网络
  • 应用

    • Grafana
    • Prometheus
  • 容器与编排

    • KubeSphere
    • Kubernetes
    • Docker Compose
    • Docker
  • 组网

    • TailScale
    • WireGuard
  • 密码生成器
  • 英文单词生成器
🍳烹饪
🧑‍💻关于
  • 分类
  • 标签
  • 归档

NipGeihou

我见青山多妩媚,料青山见我应如是
  • Java

    • 开发规范
    • 进阶笔记
    • 微服务
    • 快速开始
    • 设计模式
  • 其他

    • Golang
    • Python
    • Drat
  • Redis
  • MongoDB
  • 数据结构与算法
  • 计算机网络
  • 应用

    • Grafana
    • Prometheus
  • 容器与编排

    • KubeSphere
    • Kubernetes
    • Docker Compose
    • Docker
  • 组网

    • TailScale
    • WireGuard
  • 密码生成器
  • 英文单词生成器
🍳烹饪
🧑‍💻关于
  • 分类
  • 标签
  • 归档
  • Gin+GORM实现的WEB项目示例

    • 前期准备
      • 初始化项目
      • 安装依赖
      • 创建main文件
      • 启动热部署
      • 环境变量配置
    • 开始
      • 第一个接口
      • 修改端口
    • 参考
    • Golang
    • other
    NipGeihou
    2023-03-28
    目录

    Gin+GORM实现的WEB项目示例

    # 前期准备

    # 初始化项目

    mkdir web-project
    go mod init
    

    执行后当前目录下生成 go.mod 文件,类似于 nodejs 的 package.json

    # 安装依赖

    # 热更新
    go get github.com/githubnemo/CompileDaemon 
    go install github.com/githubnemo/CompileDaemon
    
    # 加载环境变量
    go get github.com/joho/godotenv
    
    # WEB框架
    go get -u github.com/gin-gonic/gin
    
    # ORM框架
    go get -u gorm.io/gorm
    
    # MySQL驱动
    go get -u gorm.io/driver/mysql
    

    可能需要的操作

    go env -w GOPROXY=https://goproxy.cn
    

    # 创建 main 文件

    /main.go

    package main
    
    import "fmt"
    
    func main() {
    	fmt.Println("hello")
    }
    
    

    # 启动热部署

    CompileDaemon -command="./<当前目录名>"
    # CompileDaemon -command="./web-project"
    

    启动成功后,会打印 main 方法的 hello ,修改文件后会重新打印新内容。

    # 环境变量配置

    • 创建 .env 文件
    • 在 main 文件中添加
    func init() {
    	err := godotenv.Load()
    	if err != nil {
    		log.Fatal("Error loading .env file")
    	}
    }
    

    参考:GitHub - joho/godotenv: A Go port of Ruby's dotenv library (Loads environment variables from .env files) (opens new window)

    # 开始

    # 第一个接口

    func main() {
    	r := gin.Default()
    	r.GET("/", func(c *gin.Context) {
    		c.JSON(200, gin.H{
    			"message": "pong",
    		})
    	})
    
    	r.Run() // 监听并在 0.0.0.0:8080 上启动服务
    }
    
    

    参考:快速入门 | Gin Web Framework (opens new window)

    启动程序即可在浏览器访问 127.0.0.1:8080

    # 修改端口

    .env 文件添加

    PORT=3000
    

    # 参考

    • 快速入门 | Gin Web Framework (opens new window)
    上次更新: 2023/03/30, 13:32:55
    最近更新
    01
    iSCSI服务搭建
    05-10
    02
    磁盘管理与文件系统
    05-02
    03
    网络测试 - iperf3
    05-02
    更多文章>
    Theme by Vdoing | Copyright © 2018-2025 NipGeihou | 友情链接
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式