config-plus 0.1.8

对config库的增强
Documentation

为结构体生成一个config方法,调用该方法可以读取配置文件中的属性 使用方式

#[derive(Debug, Deserialize, Configuration)]
#[properties(prefix = "push.file", file = "application.yml")]

#[properties]可以配置的属性

  • prefix: 读取配置文件的前缀
  • file: 配置文件的路径(可以配置多个file属性)
  • http: 配置http属性(可以配置多个http属性)
    • url: http的url
    • method: 请求方法(只支持get和post两种, 默认是get)
    • format: 返回的字符串的格式(支持 toml、json、yaml、yml、json5、ini、ron)
  • environment: 是否从环境变量中读取,默认为true

优先级: http > environment > file

示例

#[derive(Debug, Deserialize, Configuration)]
#[properties(
  prefix = "push.file",
  file = "application.toml",
  http(url = "http://127.0.0.1:8080/toml", format = "toml"),
  environment = true
)]
 #[serde(rename_all(deserialize = "camelCase"))]
 struct PushFile {
     enable: u8,
     app_id: String,
     app_key: String,
     master_secret: String,
     package_name: String,
 }

 let config = PushFile::config();