下载安装Gin
打开golang,新建一个go mod 项目
打开命令行,输入 go get -u github.com/gin-gonic/gin
新建目录结构
项目目录如下
编辑配置文件
配置的你项目名称,端口号,主机IP地址,数据库连接(以后会用到的一些基本配置)等等
- 在config文件夹下新建一个app.json(也可以使用yml文件格式)
- 新建一个config结构体,定义基本配置
{
"app_name": "cloudres",
"app_mode": "debug",
"app_host": "localhost",
"app_port": "8090",
}
- 配置好基本信息后,需要读取配置文件的信息,在tool文件夹下新建config.go文件,创建config结构体,初始化config后,返回config
// 新建配置文件结构体
type Config struct {
AppName string `json:"app_name"`
AppMode string `json:"app_Mode"`
AppHost string `json:"app_host"`
AppPort string `json:"app_port"`
Sms SmsConfig `json:"sms"`
Database DatabaseConfig `json:"database"`
}
var _cfg *Config = nil
func GetConfig() *Config {
return _cfg
}
func ParseConfig(path string) (*Config, error) {
file, err := os.Open(path)
if err != nil {
panic(err.Error())
}
defer file.Close()
reader := bufio.NewReader(file)
decoder := json.NewDecoder(reader)
if err = decoder.Decode(&_cfg); err !=nil {
return nil, err
}
return _cfg, nil
}
- 在main.go中,读取config的相关信息,并进行路由的注册,创建服务器等。
func main() {
cfg, err := tool.ParseConfig("./config/app.json")
if err != nil {
panic(err.Error())
}
_, err = tool.OrmEngine(cfg)
if err != nil {
panic(err.Error())
return
}
app := gin.Default()
//注册路由
registerRouter(app)
app.Run(cfg.AppHost + ":" + cfg.AppPort)
}
// 路由设置
func registerRouter(router *gin.Engine) {
new (controller.HelloController).Router(router)
}
5.在controller文件夹下新建一个HelloworldController.go
type HelloController struct {
}
//简单的测试是否可以通gin
func (hello *HelloController) Router(engine *gin.Engine) {
engine.GET("/hello", hello.Hello)
}
//解析 /hello
func (hello *HelloController) Hello(context *gin.Context) {
context.JSON(http.StatusOK,"hello world!")
}
- 此时,在控制台输入请求地址, 例如我的是 http://localhost:8090/hello 回车后便可以看到hello world! 了
到此,我们的第一个gin项目已经完成,由于本次并不涉及到相关的数据库,逻辑层等信息,将在以后的笔记中进行说明。