gin 项目结构_toutGin 个人风格的golang版RESTful API项目结构,gin+gorm,简单易上手...

toutGin

个人风格的golang版RESTful API项目结构,gin+gorm,简单易上手

结构清晰简单,代码洁癖患者的福音

获取源码

项目结构

|-app

|-common 公共方法

|-display.go 统一json格式输出

|-function.go 公共函数

|-controller 控制器

|-dao 负责curd的

|-middleware 中间件

|-model 模型

|-service 核心业务处理

|-config 配置文件和统一路由管理

|-route

|-route.go 路由配置文件

|-message.yml 状态码配置文件

|-config.go 配置方法

|-main.go 程序执行入口

模块调用流程

controller -> service -> dao

# controller严禁复杂业务,严禁直接调用dao,更严禁写sql语句

# 要优雅,不要凌乱,乖~

REST URL

GET http://localhost:8080/v1/user

POST http://localhost:8080/v1/user

PUT http://localhost:8080/v1/user

DELETE http://localhost:8080/v1/user

# api POST,PUT,DELETE 推荐使用 body json 传参,GET兼容 body 和 url 传参

JSON RESULT

{

"status": 10000,

"msg": "请求成功",

"body": null

}

ROUTE 示例

type Route struct {

Engine *gin.Engine

}

//路由路口

func (r *Route) Run() {

r.Engine.Use(new(middleware.RequestMiddleware).InitRequest)

r.index()

r.v1()

}

func (r *Route) index() {

r.Engine.Any("", new(controller.IndexController).Run)

}

func (r *Route) v1() {

v1 := r.Engine.Group("v1")

{

v1.Any("/user", controller.User)

}

}

CONTROLLER 示例

type UserController struct {

display *common.Display

data map[string]interface{}

us *se

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值