自定义配置节
定义配置类型
use webx::IAppOptions;
use serde::Deserialize;
#[derive(Debug, Clone, Deserialize, Default)]
pub struct SiteSection {
pub title: String,
pub tagline: String,
pub author: String,
}
impl IAppOptions for SiteSection {}
appsettings.json
{
"Site": {
"Title": "Start 的作品",
"Tagline": "Rust · Web · Full Stack",
"Author": "Start"
}
}
绑定
use webx::bind_config;
Host::builder()
.configure(|app| {
app.useOptions(|opts| {
let site: SiteSection = bind_config(opts, "Site");
println!("Site: {}", site.title);
});
})
Docbit 实例
Docbit 的 `Site` 配置节驱动作品集首页的标题、标语和作者信息。
小结
任何实现 `Deserialize + Default` 的类型都可作为配置节绑定。
下一章:[生产级能力](../11-production/INDEX.md)