- git emoji 以后提交用这个吧
启动配置文件支持 *.toml,*.json,*.yaml 可以将配置不同部分分布在不同的文件中(不推荐)
-
配置项介绍
所属分组 名称 必须 类型 说明 补充 database/dbscheme是 String数据库的 scheme,如 mysql 无 database/dbusername是 String数据库的 用户名 无 database/dbpassword是 String数据库的 密码 无 database/dbhost否 String数据库的 host 默认为 localhostdatabase/dbport否 u16数据库的 port 默认为 3306database/dbname是 String使用的数据库名称 无 database/dbmax_conn是 u32数据库的最大连接数 无 database/dbmin_conn是 u32数据库的最小连接数 无 database/dblogger否 bool是否开始数据库操作日志 默认关闭 logger/logto_stdout否 bool同时将日志输出到 Stdout 默认为 true logger/logto_file否 String同时将日志输出的文件 有值将会同时将日志输出到指定文件 logger/loglevel是 off或者error或者warm或者info或者debug或者 trace日志输出过滤等级 无 resp_result/rresultbody是 String响应成功时的响应体字段名称 无 resp_result/rresulterr-msg是 String响应失败时异常字段名称 无 resp_result/rresultfix-field是 bool响应体固定字段 如果无需该字段值将为 nullresp_result/rresultbool-status否 Option<String>使用一个 bool类型标记响应成功与否该字段缺省表示不使用 resp_result/rresultbody-extra-err否 Option<String>额外的异常信息在响应体中字段 该字段缺省表示不使用 resp_result/rresultheader-extra-err否 Option<String>额外的异常信息在响应头中的字段名称 该字段缺省表示不使用 mongodb/mongousername是 StringMongodb 进行数据库连接使用的用户 该用户需要完整 Admin 权限 mongodb/mongopassword是 StringMongodb 进行数据库连接使用的用户密码 无 mongodb/mongohost否 StringMongodb 进行数据库连接使用的 host 默认为 localhostmongodb/mongoport否 StringMongodb 进行数据库连接使用的端口 默认为 27017mongodb/mongodb_name是 StringMongodb 进行数据库连接使用的数据库 无 mongodb/mongoquery否 HashMap<String, String>Mongodb 进行数据库连接使用的参数 默认为 {}user_auth/authjwt/jwt-key否 String用户鉴权使用的 Jwt密钥最大长度不超过 32 位。过长部分将会被截断,过短部分将会被随机数填充 user_auth/authheader/header_name否 String获取 token 的 Header 默认为 Tokenuser_auth/authmob_header否 String获取 mob_id 的 Header 默认为 mob-idadmin_user/userusername是 String默认后台第一个最高权限用户名 admin_user/userpassword是 String默认后台第一个最高权限密码 http_listen/httphost否 IpAddrhttp 监听的 host 默认为 127.0.0.1http_listen/httpport否 u16http 监听的 port 默认为 8000qiniu/qiniu_secretaccess_key是 String七牛云的 Access Key qiniu/qiniu_secretsecret_key是 String七牛云的 Secret Key qiniu/qiniu_secretbucket是 String所有要使用的 Bucket(篮子) 必填 redispassword是 StringRedis 进行数据库连接使用的用户密码 无 redishost否 StringRedis 进行数据库连接使用的 host 默认为 localhostredisport否 u16Redis 进行数据库连接使用的端口 默认为 6379redisdb是 u8Redis 进行数据库连接使用的数据库 默认为 0 -
Toml
[db] scheme="mysql" username="<db_user>" password="<db_pwd>" host="localhost" port=3306 name="mansion_data" max_conn=16 min_conn=2 logger=true [log] level = "debug" to_file = "./logout.log" to_stdout = true [rresult] body = "body" err-msg = "e-msg" fix-field = false bool-status = "is-ok" body-extra-err = "status" [mongo] username = "<db-user>" password = "<db-pwd>" db_name = "ceobe-canteen" host = "localhost"
-
Yaml
log: to_file: ./logout.log level: info
-
Json
{ "db": { "password": "pwd", "name": "name" } }
-
前缀类型说明
前缀 说明 F服务器异常 D数据库异常 GMongoDb 异常 IIO 过程异常 P数据转换时异常 C数据校验异常 S资源查找异常 M数据未变更 A权限认证异常 Q七牛云上传异常 L日志报告异常 -
服务异常
前缀 异常码 httpCode 说明 F0001 500 服务器发生未预期 Panic F0002 500 管道发生未预期关闭 -
Io 异常
前缀 异常码 httpCode 说明 I0001 500 std::io::ErrorI0002 500 core::fmt::Error -
类型转换异常
前缀 异常码 httpCode 说明 P0001 400 Url 转化异常 P0002 400 数字转换异常 P0003 400 jwt 转换异常 P0004 400 日期转换异常 P0005 500 字符串编码异常 P0006 400 http 请求头内容解析异常 P0007 500 非法 Http 请求头内容 P0008 500 UUID解析异常
数据校验异常
| 前缀 | 异常码 | httpCode | 说明 |
|:-----:|:----:|:--------:|:------------------------------------|
| C | 0001 | 400 | 范围检查未通过 |
| C | 0002 | 400 | 饼学大厦 id 格式不是 {int}.{int} |
| C | 0003 | 400 | 错误的 Fraction 值范围(0~5) |
| C | 0004 | 400 | Json 序列化/反序列化异常 |
| C | 0005 | 400 | Path 数据加载异常 |
| C | 0006 | 400 | 未知的预期确信度等级 |
| C | 0007 | 400 | Query 加载异常 |
| C | 0008 | 409 | 饼学大厦的 Id 已经存在 |
| C | 0009 | 400 | BV 号格式错误 |
| C | 000A | 400 | 版本号格式错误 |
| C | 000B | 409 | 版本号已经被使用 |
| C | 000C | 400 | Bincode 序列化/反序列化异常 |
| C | 000D | 500 | 存在多个可用的资源全可用的记录 |
| C | 000E | 400 | 预期为 0 值取得非 0 值 |
| C | 000F | 400 | 获取MultiPart异常 |
| C | 0010 | 400 | 解析MultiPart异常 |
| C | 0011 | 400 | MultiPart Field 不存在 |
| C | 0012 | 500 | 平台下存在数据源,无法删除平台 |
| C | 0013 | 400 | 未找到平台 |
| C | 0014 | 400 | {origin} 无法被 {RHS} 整除,余数{rem} |
| C | 0015 | 400 | Json 对象不符合预期 |
| C | 0016 | 400 | Bson 序列化异常 |
| C | 0017 | 409 | 版本号过旧 |
| C | 0018 | 403 | 正在试图抹除自身存在 |
-
数据库异常(SeaOrm)
前缀 异常码 httpCode 说明 D0001 500 数据库连接失败 D0002 500 数据库请求操作失败 D0003 500 数据库查询失败 D0004 500 数据库记录不存在 D0005 500 数据库 CustomErrorD0006 500 数据库类型转换失败 D0007 500 数据库类型序列化失败 D0008 500 数据库 Migrate 失败 -
数据库异常(MongoDb)
前缀 异常码 httpCode 说明 G0001 500 非法参数 G0002 500 权限不足 G0003 500 Bson反序列化失败G0004 500 Bson序列化失败G0005 500 Bson序列化失败G0006 500 写冲突 G0007 500 指令错误 G0008 500 DNS处理异常G0009 500 网络异常 G0010 500 Io 异常 G0011 500 非法响应 G0012 500 客户端无法选择数据库服务 G0013 500 客户端未提供 Session G0014 500 非法 TLS 配置 G0015 500 写入异常 G0016 500 事务异常 G0017 500 服务不可用异常 G0018 500 数据库不存在 G0019 500 数据库中集合不存在 -
Redis 异常
前缀 异常码 httpCode 说明 R0001 500 无效响应 R0002 500 权限不足 R0003 500 类型不匹配 R0004 500 脚本执行终止 R0005 500 正在加载转储,无法响应 R0006 500 请求脚本不存在 R0007 500 给客户端的参数错误 R0008 500 键移动到不同的节点 R0009 500 密钥移动到不同节点且访问 R0010 500 需要重试请求 R0011 500 redis 集群关闭 R0012 500 一个请求跨越多个槽 R0013 500 集群主机不可用 R0014 500 redis 错误不是系统本身的错误 R0015 500 在执行之前在客户端上识别出的错误 R0016 500 扩展错误 R0017 500 尝试写入只读服务器 -
数据未变更
前缀 异常码 httpCode 说明 M0001 304 Ceobe 在当前提供时间戳下无更新 -
资源查找异常
前缀 异常码 httpCode 说明 S0001 404 指定饼学大厦未找到 S0002 404 不存在的路由 S0003 500 发起请求时出现异常 S0004 404 版本号不存在 S0005 404 暂没有版本信息 S0006 500 不存在可用的资源全可用的记录 -
|
S| 000A | 404 | 不存在可用的资源全可用的记录 | -
权限认证异常
前缀 异常码 httpCode 说明 A0001 401 缺少 Token 字段 A0002 401 权限不足 A0003 404 Token 对应信息不存在 A0004 401 密码错误 A0005 500 密码处理错误 A0006 401 Token 失效 A0007 404 用户不存在 A0008 400 用户已经被使用 A0009 400 密码未更改 A000A 500 缺少用户鉴权中间件 -
七牛云上传异常
前缀 异常码 httpCode 说明 Q0001 500 上传七牛云时出现异常 -
日志报告异常
|前缀 | 异常码 | httpCode | 说明| | :--: | :----: | :------: | :------------------- | |
L| 0001 | 500 | 与Grpc服务端建立连接失败 | |L| 0002 | 500 | Grpc service 返回异常响应 | |L| 0003 | 500 | 发送日志时收到失败响应 |