config-plus 0.1.4

对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两种)
  • format: 返回的字符串的格式(支持 toml、json、yaml、yml、json5、ini、ron)
  • environment: 是否从环境变量中读取,默认为true

优先级: http > environment > file

示例

 #[derive(Debug, Deserialize, Configuration)]
 #[properties(prefix = "push.file", file = "application.yml")]
 #[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();