Featured image of post 封装属于你的Gin框架(一):开篇 & 项目初始化

封装属于你的Gin框架(一):开篇 & 项目初始化

前言

我是一名 phper,由于各方面因素,决定转战 Go,PHP 基本都是用来开发 Web 项目的,所以这次就使用 Go 中最流行的 Web 框架 Gin 来进行二次封装,由于它自由度很高,没办法像 PHP 框架 Laravel 开箱即用,所以就诞生了这个系列的文章,带你一步步将基础服务封装到 Gin 中,方便以后更愉快的 CURD

适用人群

  • 懂得安装 Go 环境及其基本语法
  • 会使用 Go Modules 管理项目
  • 略微有一点点点的开发经验

目录结构

image-20211009001616865.png

文件/目录名称说明
app/common公共模块(请求、响应结构体等)
app/controllers业务调度器
app/middleware中间件
app/models数据库结构体
app/services业务层
bootstrap项目启动初始化
config配置结构体
global全局变量
routes路由定义
static静态资源(允许外部访问)
storage系统日志、文件等静态资源)
utils工具函数
config.yaml配置文件
main.go项目启动文件

初始化项目

  1. 先在 ~/go/src 目录下创建一个目录 jassue-gin 用来存放项目代码
1
mkdir ~/go/src/jassue-gin
  1. 在项目根目录下,初始化 go.mod 文件
1
go mod init jassue-gin
  1. 安装 Gin
1
go get -u github.com/gin-gonic/gin
  1. 在项目根目录下编写 main.go 文件
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
package main

import (
    "github.com/gin-gonic/gin"
    "net/http"
)

func main() {
    r := gin.Default()

    // 测试路由
    r.GET("/ping", func(c *gin.Context) {
        c.String(http.StatusOK, "pong")
    })

    // 启动服务器
    r.Run(":8080")
}

启动应用 & 测试

执行 go run main.go 启动应用

image-20211009000758685.png

可以看到 HTTP 服务器启动成功,打开 http://127.0.0.1:8080/ping 测试路由

image-20211009001053698.png

Built with Hugo
主题 StackJimmy 设计