#url #template #template-string #string

urltemplate

轻量级 URL 模板。掌握带占位符的 URL!

6 个版本

0.1.5 2019 年 3 月 12 日
0.1.4 2019 年 2 月 3 日

#18#template-string

Download history 15/week @ 2024-03-27 41/week @ 2024-04-03 40/week @ 2024-04-10 68/week @ 2024-04-17 36/week @ 2024-04-24 2/week @ 2024-05-08 19/week @ 2024-05-15 7/week @ 2024-05-22 26/week @ 2024-05-29 16/week @ 2024-06-05 12/week @ 2024-06-12 33/week @ 2024-06-19 32/week @ 2024-06-26 36/week @ 2024-07-03

114 每月下载量

MIT 许可证

10KB
152

Urltemplate

将包含占位符的 URL 模板转换为 URL。每当您需要将 https://example.com/?utm_source={source}&key2={value2} 转换为 URL,如 https://example.com/?utm_source=github&key2=

核心思想是拥有简洁且易于使用的占位符,适用于 http/https URL。舒适意味着易于在任何与网络相关的项目中使用,UTF 安全。

警告:此 crate 是实验性的。它正在积极开发中。

用法

extern crate urltemplate;

use urltemplate::UrlTemplate;

use std::collections::HashMap;
let mut params = HashMap::new();
params.insert("source".to_string(), "url-template-crate-❤".to_string());

let url_with_placeholders = UrlTemplate::from("https://www.mozilla.org/?utm_source={source}");

let url_as_string =  url_with_placeholders.substitute_str(&params).expect("valid url");
let url_as_url =  url_with_placeholders.substitute(&params).expect("valid url");

assert_eq!(url_as_string, "https://www.mozilla.org/?utm_source=url-template-crate-❤");
assert_eq!(url_as_url.query(), Some("utm_source=url-template-crate-❤"));

注意

  • UTF 安全
  • 无外部依赖(仅需要 url crate)
  • 紧凑且干净的实现

依赖项

~1.5MB
~49K SLoC