4个版本

0.1.3 2024年8月16日
0.1.2 2024年8月8日
0.1.1 2024年8月8日
0.1.0 2024年8月8日

#146配置

Download history 273/week @ 2024-08-03 145/week @ 2024-08-10

每月418次下载

MIT 协议

24KB
349

service_utils_rs

service_utils_rs 是一个Rust库,提供实用函数以简化并加快服务开发。

功能

  • 高效JWT处理
  • 集成日志记录
  • 配置管理工具
  • 其他实用函数

安装

将以下依赖项添加到您的 Cargo.toml 文件中

[dependencies]
service_utils_rs = "0.1.3"

用法

配置管理

1. 创建配置文件

在您的项目根目录下创建一个 config 目录,并添加一个包含以下内容的 config.toml 文件

# config/config.toml
[jwt]
access_secret = "3a5df12e1fc87ad045e1767e3f6a285da64139de0199f3d7b1d869f03d8eae30e130bacc2018d8c2e1dced55eac6fbb45f0cf283a5f64dc75a886ac8fd3937e5"
refresh_secret = "b26f570b5d72795815f898cea04a4234a932cded824081767698e58e13ff849f3b6e23fe34efb4f6d78e342f1be4eace18135994e51a070c605c6dc9698a5fab"
audience = "test"
access_token_duration = 86400
refresh_token_duration = 172800    

2. 设置模块

确保您的 settings.rs 文件读取配置文件并反序列化设置

use config::{Config, ConfigError};
use serde::Deserialize;

#[derive(Debug, Deserialize)]
pub struct Settings {
    pub jwt: JwtCfg,
}

#[derive(Debug, Deserialize)]
pub struct JwtCfg {
    pub access_secret: String,
    pub refresh_secret: String,
    pub audience: String,
    pub access_token_duration: usize,
    pub refresh_token_duration: usize,
}

impl Settings {
    pub fn new(config_path: &str) -> Result<Self, ConfigError> {
        let c = Config::builder()
            .add_source(config::File::with_name(config_path))
            .build()?;
        c.try_deserialize()
    }
}

3. 在项目中使用库

在您的项目中,使用 service_utils_rs 库并传递配置文件路径

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let config_path = "config/config.toml";
    let settings = Settings::new(config_path)?;
    println!("{:?}", settings);
    Ok(())
}

按照这些步骤,您可以在项目中配置和使用 service_utils_rs 库,达到预期的效果。

依赖项

~7–17MB
~235K SLoC