Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/atpuxiner/grapi
This is a gin restful api.
https://github.com/atpuxiner/grapi
gin gin-restful-api golang grapi gtcli
Last synced: 13 days ago
JSON representation
This is a gin restful api.
- Host: GitHub
- URL: https://github.com/atpuxiner/grapi
- Owner: atpuxiner
- License: mit
- Created: 2024-02-29T14:09:11.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-03-16T09:14:08.000Z (8 months ago)
- Last Synced: 2024-10-16T18:58:54.078Z (27 days ago)
- Topics: gin, gin-restful-api, golang, grapi, gtcli
- Language: Go
- Homepage:
- Size: 33.2 KB
- Stars: 212
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# grapi
## What is this?
- by: axiner
- grapi
- This is a gin restful api.## 脚手架使用
- 1)mod及proxy设置(若已执行或不需要请忽略)
- `go env -w GO111MODULE=on`
- `go env -w GOPROXY=https://goproxy.io,direct`
- 2)下载安装
- `go install github.com/atpuxiner/gtools/gtcli@latest`
- 3)创建项目
- `gtcli grapi new -p <项目名称> -m <模块名称> -d <目录(不指定则默认.)>`
- 4)添加api
- `cd到上面创建的项目根目录`
- `gtcli grapi add -a -v <版本号(不指定则默认v1)>`## 项目运行
- 1)cd到项目根目录
- 2)初始化相关
- 第三方模块:
- `go get -u`
- `go mod tidy`
- swag cmd:
- `go install github.com/swaggo/swag/cmd/swag@latest`
- 代码格式化:
- `go fmt ./...`
- swagger:
- `swag init`
- 3)编译运行
- win:
- `go build -o grapi.exe main.go`
- `./grapi.exe runserver`
- linux:
- `go build -o grapi main.go`
- `./grapi runserver`## 项目结构
- ABD: ABD模式
- A api
- B business
- D datatype
- 调用过程: main.go(initializer) - router(middleware) - api - business - (datatype)
- 结构如下: (命名经过多次修改敲定,简洁易懂,ABD目录贴合避免杂乱无章)
```
└── grapi
├── app (应用)
│ ├── api ├── (api)
│ │ └── v1 │ └── (v1)
│ ├── business ├── (业务)
│ ├── datatype ├── (数据类型)
│ │ ├── entity │ ├── (实体)
│ │ └── model │ └── (模型)
│ ├── initializer ├── (初始化)
│ │ ├── conf │ ├── (配置)
│ │ ├── db │ ├── (数据库)
│ │ ├── logger │ ├── (日志)
│ │ └── redis │ └── (redis)
│ ├── middleware ├── (中间件)
│ ├── router ├── (路由)
│ └── utils └── (utils)
├── cmd (命令目录)
├── config (配置目录)
├── deploy (部署目录)
├── docs (文档目录)
├── log (日志目录)
├── .gitignore
├── go.mod
├── LICENSE
├── main.go
└── README.md
```## LICENSE
This project is released under the MIT License (MIT). See [LICENSE](LICENSE)