1.文档阅读
Gin - Github - 官方 Document
Gin中文文档
Documentation | Gin Web Framework -- 国外官网/文档
Gin 使用教程 | Laravel 学院
Go - 学习/实践_william_n的博客-CSDN博客_go 学习
知名项目 以下知名项目都是使用 Gin 框架开发的:
2.整理输出
https://github.com/gin-gonic/gin -- 推荐文档 -- 英文是比较易读的
最新版本 v1.7.7
Release Release v1.7.7 · gin-gonic/gin · GitHub
2.1 创建第一个demo 1. 步骤 ➜ go-projects mkdir gin-demo ➜ go-projects cd gin-demo ➜ gin-demo code . ➜ gin-demo ➜ gin-demo go mod init gin-demo/basic go: creating new go.mod: module gin-demo/basic ➜ gin-demo go get -u github.com/gin-gonic/gin go get: added github.com/gin-contrib/sse v0.1.0 go get: added github.com/gin-gonic/gin v1.7.7 go get: added github.com/go-playground/locales v0.14.0 go get: added github.com/go-playground/universal-translator v0.18.0 go get: added github.com/go-playground/validator/v10 v10.10.0 go get: added github.com/golang/protobuf v1.5.2 go get: added github.com/json-iterator/go v1.1.12 go get: added github.com/leodido/go-urn v1.2.1 go get: added github.com/mattn/go-isatty v0.0.14 go get: added github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd go get: added github.com/modern-go/reflect2 v1.0.2 go get: added github.com/ugorji/go/codec v1.2.6 go get: added golang.org/x/crypto v0.0.0-20220214200702-86341886e292 go get: added golang.org/x/sys v0.0.0-20220222200937-f2425489ef4c go get: added golang.org/x/text v0.3.7 go get: added google.golang.org/protobuf v1.27.1 go get: added gopkg.in/yaml.v2 v2.4.0 ➜ gin-demo 2. 创建执行文件 touch example.go 编辑如下内容:
package main
import "github.com/gin-gonic/gin"
func main() { r := gin.Default() r.GET("/ping", func(c *gin.Context) { c.JSON(200, gin.H{ "message": "pong", }) }) r.Run() // listen and serve on 0.0.0.0:8080 (for windows "localhost:8080") }
3. 运行文件 # run example.go and visit 0.0.0.0:8080/ping (for windows "localhost:8080/ping") on browser $ go run example.go
➜ gin-demo go run example.go [GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached.
[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production. - using env: export GIN_MODE=release - using code: gin.SetMode(gin.ReleaseMode)
[GIN-debug] GET /ping --> main.main.func1 (3 handlers) [GIN-debug] [WARNING] You trusted all proxies, this is NOT safe. We recommend you to set a value. Please check https://pkg.go.dev/github.com/gin-gonic/gin#readme-don-t-trust-all-proxies for details. [GIN-debug] Environment variable PORT is undefined. Using port :8080 by default [GIN-debug] Listening and serving HTTP on :8080
4. 测试服务 ➜ gin-demo curl localhost:8080/ping {"message":"pong"}% ➜ gin-demo curl 0.0.0.0:8080/ping {"message":"pong"}% ➜ gin-demo 正常,最简单的demo已经完成~~ 2.2 Restful api https://laravelacademy.org/post/21903 TBD 后续补充 ... |