基于gin搭建的类似laravel的api框架

欢迎光临小弟的博客maliweb.top

基于gin搭建的类似laravel的api框架

代码地址

点击跳转至框架的代码地址

简易文档

1.运行配置

  • 拉取代码库并安依赖包
    git clone https://github.com/programmerPatient/laravelGo.git && go mod tidy
    
  • 复制env配置文件 并修改相应的配置(配置参考config目录下的文件)
    cp .env.example .env
    
  • 运行
    go run main.go
    

2.指令介绍

  • 开启api服务的指令(也为默认指令)
    go run main.go
    
    或者
    
    go run main.go api
    
    
  • 数据库迁移指令 (迁根目录下的database/migrations下的所有文件)
    • 迁移生成对应的表
      go run main.go migrate up
      
    • 迁移回滚表上一个操作
      go run main.go migrate down
      
    • 回溯所有迁移
      go run main.go migrate reset
      
    • reset命令 后重新之前 migrate up 命令
      go run main.go migrate fresh
      
  • 自动生成指令
    • 根据数据库的表自动生成模型文件指令
      go run main.go generate model [参数为表名称 可有零个或者多个用空格分开 不传参数代表库中所有的表]
      
    • 自动生成应用密钥指令
      go run main.go generate key
      
  • 文件生成指令
    • 生成迁移文件
      go run main.go make migration [需要传一个参数为文件名]
      
    • 生成命令行(记得生成的指令要加入到app/cmd/kernel.go 下的InintCmd里面才能生效)
      go run main.go make cmd [需要传一个参数为文件名]
      
    • 生成模型文件
      go run main.go make model [需要传一个参数为文件名]
      
  • 生成接口文档指令 (访问链接为 http://host:port/swagger/index.html)
    swag init 
    

3.异步任务模块(基于redis实现)

  • 生成异步任务文件
    go run main.go make job [需要传一个参数为文件名]
    
  • 异步队列的调用
    #示例代码 NewExampletJob为 app/job/ 下的自定义任务
    asynq.Delivery(job.NewExampletJob(job.ExamplePayload{
        UserId: 11111,
    }))
    
  • 异步队列处理命令
    go run main.go queue server
    

4.服务启动、重启、关闭指令(linux)

  • 开启服务
    go build -o <编译打包的文件服务名>
    nohup ./<编译打包的文件服务名> &
    
  • 关闭服务
    ps -ef | grep <编译打包的文件服务名> | awk -F' ' '{print$2}' | xargs kill -9
    
  • 重启服务
    go build -o <编译打包的文件服务名> > restart.txt 2>&1
    nohup ps -ef | grep ./<编译打包的文件服务名> | awk -F' ' '{print$2}' | xargs kill -1  > restart.txt 2>&1 &
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值