# config-plus **Repository Path**: itao007/config-plus ## Basic Information - **Project Name**: config-plus - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-23 - **Last Updated**: 2025-08-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 为结构体生成一个`config`方法,调用该方法可以读取配置文件中的属性 使用方式 ```rust #[derive(Debug, Deserialize, Configuration)] #[properties(prefix = "push.file", file(path = "application.yml", require = true))] ``` `#[properties]`可以配置的属性 - prefix: 读取配置文件的前缀 - file: 配置文件的路径(可以配置多个file属性) + path: 文件路径 + require: 文件是否必须(默认false) - http: 配置http属性(可以配置多个http属性) + url: http的url + method: 请求方法(只支持get和post两种, 默认是get) + format: 返回的字符串的格式(支持 toml、json、yaml、yml、json5、ini、ron) - environment: 是否从环境变量中读取,默认为true > 优先级: http > environment > file 示例 ```rust #[derive(Debug, Deserialize, Configuration)] #[properties( prefix = "push.file", file(path = "application.yml", require = true), 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(); ```