本文主要是介绍gocore-v2框架-gocore.yaml配置文件介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Github
官方文档地址-持续更新中
作为脚手架最重要的就是描述文件,通过描述文件来定义项目信息、接口模块路由、入参出参等,通过配置信息来生成项目骨架,可以大量减少重复机械式的工作。
gocore使用yaml作为描述文件的格式,相对其他文件格式yaml能够比较好的表现出层次结构,尤其是在定义接口请求参数status时可以支持比较复杂的关系,比toml和json更加可读。
脚手架工具基于yaml配置文件生产代码,主要特性:
- 支持Api、cronjob、job类型
- 自动生成Api接口
- 路由
- 入口方法
- 参数结构
- bind参数验证
- 自动生成cronjob和job入口cmd
- 自动生成Api接口
- 配置文件
- 集成配置中心nacos
- 支持AK&SK秘钥鉴权
- 支持从nacos或本地读取配置
- 使用nacos支持热更新
- 配置文件多环境切换
- 配置文件融入bin包
- 集成配置中心nacos
- 中间件
- mysql
- redis
- rocketMQ
service:projectName: demo #项目名称version: v1.0.0 #项目版本号
config: cNacos: false #是否使用nacoscRocketMQConfig: true #是否使用rocketMQcMysql: #mysql配置- name: app #数据库名称hotUpdate: false #是否热更新models: #model文件- name: user #表名称auto: false #是否自动建表fields: #表字段,gorm规则,一行一个自动- column:id;primary_key;type:int AUTO_INCREMENT- column:name;type:varchar(100) NOT NULL;default:'';comment:'用户名';unique_indexcomment: 用户表 #表备注cRedis: #redis配置- name: default #redis名称hotUpdate: false #是否热更新index: db0: 0 #选择第几个db
nacosEnable: true #是否使用nacos
httpApiEnable: true #是否生成接口程序
cronJobEnable: true #是否生成定时任务
jobEnable: true #是否生成常驻任务
httpApis:host: 0.0.0.0 #api接口监听ip地址port: "80" #api接口监听ip端口apis:- prefix: /app/user #api接口前缀moduleName: user #模块名称handle: #api接口- name: GetUserInfo #api接口方法名称,完整路由是/app/user/GetUserInfomethod: AnyrequestParams: #api接口请求参数- name: uid #字段名称required: true #是否必填type: int #字段类型comment: 用户ID #字段备注validate: required,min=1,max=100000 #validate校验规则responseParams: #api响应参数- name: detail #字段名称required: true #是否必填type: '*User' #字段类型,非基础字段类型,表示嵌套结构体,引用params中的结构体comment: 用户详情 #字段备注validate: ""- name: listrequired: truetype: '[]*User'comment: 用户列表validate: ""comment: 获取用户信息params:User:- name: uidrequired: truetype: intcomment: 用户IDvalidate: ""- name: namerequired: truetype: stringcomment: 用户名validate: ""
cronJobs:
- spec: '@every 30m' #定时任务规则,参考:github.com/robfig/cronjob: name: SyncUser #定时任务方法名称comment: 同步用户 #定时任务备注
jobs:
- name: InitUser #一次性任务,常驻任务方法名称comment: 初始化默认用户 #一次性任务,常驻任务备注
这篇关于gocore-v2框架-gocore.yaml配置文件介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!