gin-starter
gin-starter copied to clipboard
A RESTful instance based on gin and gorm. Implement JWT authentication and provide moc commands to generate CURD code
Gin Starter
åºäºgin
ågorm
æ建çä¸ä¸ªRESTfulå®ä¾ãå®ç°JWT认è¯ï¼å¹¶æä¾çæCURD代ç çmoc
å½ä»¤ã
å¦ä½è¿è¡
å建ä¸ä¸ªstarter
çæ°æ®åºï¼ç¼è¾ config/config.yaml é
ç½®æ°æ®åº:
addr: :9000
gin_mode: "debug"
#gin_mode: "release"
dsn: "root:@tcp(127.0.0.1:3306)/starter?charset=utf8mb4&parseTime=True&loc=Local"
max_idle_conn: 100
sql_debug: true
jwt_secret: "your secret"
jwt_expire_day: 100
redis_host: "127.0.0.1:6379"
redis_password:
redis_max_idle: 30
redis_active: 30
redis_idle_timeout: 200
è¿è¡ï¼
go run ./cmd/app/main.go
[GIN-debug] POST /api/v1/login --> moell/internal/app/api.(*Auth).Login-fm (3 handlers)
[GIN-debug] POST /api/v1/register --> moell/internal/app/api.(*Auth).Register-fm (3 handlers)
[GIN-debug] GET /api/v1/check-app-upgrade/:platform --> moell/internal/app/api.(*AppUpgrade).Check-fm (3 handlers)
[GIN-debug] PATCH /api/v1/change-password --> moell/internal/app/api.(*Auth).ChangePassword-fm (5 handlers)
[GIN-debug] PATCH /api/v1/frozen-account --> moell/internal/app/api.(*Auth).FrozenAccount-fm (5 handlers)
[GIN-debug] GET /api/v1/user --> moell/internal/app/api.(*User).Index-fm (5 handlers)
[GIN-debug] POST /api/v1/user --> moell/internal/app/api.(*User).Store-fm (5 handlers)
[GIN-debug] PATCH /api/v1/user/:id --> moell/internal/app/api.(*User).Update-fm (5 handlers)
[GIN-debug] DELETE /api/v1/user/:id --> moell/internal/app/api.(*User).Destroy-fm (5 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] Listening and serving HTTP on :9000
moc å½ä»¤è¡ç使ç¨
go run ./cmd/moc/main.go -h
NAME:
moc - moell cli application
USAGE:
moc [global options] command [command options] [arguments...]
COMMANDS:
curd çæCURD代ç
api çæAPI代ç
model çæModel代ç
repo çæRepository代ç
service çæService代ç
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--help, -h show help (default: false)
å®ä¾ï¼
go run ./cmd/moc/main.go curd --name Article
"./internal/app/requests/admin_user.go" Generated successfully
"./internal/app/api/admin_user.go" Generated successfully
"./internal/app/repositories/admin_user.go" Generated successfully
"./internal/app/models/admin_user.go" Generated successfully
"./internal/app/services/admin_user.go" Generated successfully
go run ./cmd/moc/main.go curd --name AdminUser --dir=admin
"./internal/admin/requests/admin_user.go" Generated successfully
"./internal/admin/api/admin_user.go" Generated successfully
"./internal/admin/repositories/admin_user.go" Generated successfully
"./internal/admin/models/admin_user.go" Generated successfully
"./internal/admin/services/admin_user.go" Generated successfully
æ´å¤ä½¿ç¨æ¹æ³ï¼è¯·åç §å¸®å©å½ä»¤
项ç®ç»æ
âââ cmd 项ç®ä¸»å¹²
â  âââ app é»è®¤é¡¹ç®ç®å½
â  âââ moc 代ç çæå¨å
¥å£
âââ config é
ç½®æ件
âââ internal 项ç®ä»£ç ç®å½
â  âââ app 项ç®
â  â  âââ api è·¯ç±å
¥å£
â  â  âââ middleware ä¸é´ä»¶
â  â  âââ models 模å
â  â  âââ repositories Repository
â  â  âââ requests 请æ±éªè¯
â  â  âââ routes è·¯ç±
â  â  âââ services Service
â  âââ moc
âââ logs æ¥å¿åæ¾ä½ç½®
âââ pkg å
Œ
±ä»£ç åº
âââ auth
âââ database
âââ logger
âââ model
âââ repository
âââ response
âââ utils
ç¹æ§
- gin
- gorm
- sirupsen/logrus
- thedevsaddam/govalidator
- urfave/cli/
- sirupsen/logrus
- gomodule/redigo
- golang-jwt/jwt
æèµ
License
Apache License Version 2.0 see http://www.apache.org/licenses/LICENSE-2.0.html