go web skeleton
1.0.0
完整的Golang Web應用程序骨架。
中文說明
包含:
gookit/slog配置go mod安裝管理依賴項github項目https://github.com/inhere/go-web-skeleton
api/ API interface application handlers
|- controller/
|- middleware/
|_ routes.go
app/ Common directory (public methods, application initialization, public components, etc.)
cmd/ CLI command line application commands
|_ cliapp/ command line application entry file (main)
config/ Application configuration directory (basic configuration plus various environment configurations)
model/ Data and logic code directory
|- form/ Request form structure data definition, form validation configuration
|- logic/ Logic processing
|- mongo/ MongoDB data collection model definition
|- mysql/ MySQL data form model definition
|_ rds/ Redis data model definition
resource/ Non-code resources used by some projects (language files, view template files, etc.)
runtime/ Temporary file directory (file cache, log files, etc.)
static/ Static resource directory (js, css, etc.)
main.go Web application entry file
Dockerfile Dockerfile
Makefile Has written some common shortcut commands to help package, build docker, generate documentation, run tests, etc.
...
通過
tree -d 2 ./渲染
使用✅標記當前使用的GO軟件包
提供HTTP服務和路由
其他:
命令行應用程序
配置管理
mysql:
Mongodb:
redis:
請求數據驗證
高性能序列化庫
JSON:
配置註冊中心:
Dockerfile :基於Alpine的Docker Image構建腳本構建生產環境的腳本,構建一個項目圖像,其估計尺寸約為30 mmakefile :已經構建了一些快速的命令,以幫助快速生成文檔並構建圖像。 go-web-skeleton目錄重命名為您的項目名稱。github.com/inhere/go-web-skeleton (用於go file)go-web-skeleton (主要是Dockerfile,makefile)go mod tidy以安裝依賴庫go run main.gogo run ./cmd/appinit安裝:
go get -u github.com/swaggo/swag/cmd/swag請檢查
swaggo/swag的文檔和示例
生成指定目錄:
swag init -o static
# This file will be generated at the same time. It can be deleted if it is not needed.
rm static/docs.go注意:
swaggo/swag是解析字段描述該字段評論中的信息
type SomeModel struct {
// the name description
Name string `json:"name" example:"tom"`
} Go test
// output coverage
Go test -covergofmt -s -l ./
go fmt ./...注意:您需要先安裝
GoLint。
golint ./...麻省理工學院