当前位置:网站首页>gocore-v2框架-gocore.yaml配置文件介绍
gocore-v2框架-gocore.yaml配置文件介绍
2022-07-19 05:21:00 【文振熙】
作为脚手架最重要的就是描述文件,通过描述文件来定义项目信息、接口模块路由、入参出参等,通过配置信息来生成项目骨架,可以大量减少重复机械式的工作。
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 #是否使用nacos
cRocketMQConfig: true #是否使用rocketMQ
cMysql: #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_index
comment: 用户表 #表备注
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/GetUserInfo
method: Any
requestParams: #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: list
required: true
type: '[]*User'
comment: 用户列表
validate: ""
comment: 获取用户信息
params:
User:
- name: uid
required: true
type: int
comment: 用户ID
validate: ""
- name: name
required: true
type: string
comment: 用户名
validate: ""
cronJobs:
- spec: '@every 30m' #定时任务规则,参考:github.com/robfig/cron
job:
name: SyncUser #定时任务方法名称
comment: 同步用户 #定时任务备注
jobs:
- name: InitUser #一次性任务,常驻任务方法名称
comment: 初始化默认用户 #一次性任务,常驻任务备注
边栏推荐
猜你喜欢
Overview of key core technologies of intelligent operation and maintenance aiops worth seeing
Mikrotik ROS软路由设置上网方式(一)
单臂路由和VRRP
论文笔记:Self-critical Sequence Training for Image Captioning
Insert cross column pictures under the title of the home page of latex IEEE paper, and solve the footnote problem
Mikrotik ROS软路由设置上网方式(三)
C语言基础知识
分布式唯一ID
DHCP原理与配置
Single arm routing and VRRP
随机推荐
DHCP原理与配置
ceph 创建存储池提示pool size is bigger than the crush rule max size
VLAN overview
Configuring multiple servers with ZABBIX agent
[turn] method to solve memory / video memory leakage pytorch
【资源记录】VAE 学习笔记
服务器硬件及RAID配置与实战
在磁盘阵列(RAID)上搭建LVM
List、Set、Map、Queue、Deque、Stack遍历方式总结
VLAN概述
ZABBIX automatically discovers and monitors GPU
ModuleNotFoundError: No module named 'gflags'
【资源记录】Invertible Neural Networks 可逆神经网络是什么,与VAE,GAN的关系;什么是Bits per pixel,Bits per dim
ceph 纠删码解读和实践
redhat 7更换yum源
使用 gst-launch 小记
How to turn a computer without public IP in a LAN into a server accessible to the public network (SSH access as an example)
黑马程序员反射入门
Lombok配合Logback实现最简单的日志输出
黑马程序员线程通信【了解】