< 返回我的博客

wandercn 发表于 2021-09-06 17:37

Tags:prefix-tree,url-match,url-rules

Pretree

pretree is a package for storing and querying routing rules with prefix tree .

pretree 是一个用于存储和查询路由规则的包。它用前缀树存储路由规则,支持包含变量的路由。

pretree is a package for storing and querying routing rules. It uses prefix tree to store routing rules and supports routing with variables.

Inspired by obity/pretree (golang)

Doc

See this document at API documentation

Install

Add the following line to your Cargo.toml file:

pretree = "1.0.0"

Example

use pretree::Pretree;
let mut p = Pretree::new();
p.store("GET","account/{id}/info/:name");
p.store("GET","account/:id/login");
p.store("GET","account/{id}");
p.store("GET","bacteria/count_number_by_month");
let (ok,rule,vars) = p.query("GET","account/929239");
println!("ok:{} rule:{} vars:{:#?}",ok,rule,vars);

评论区

写评论
pjzhong 2021-11-10 19:22

以前还疑惑spring的路径如何实现,参考你这个之后算是有思路了。厉害!!! 朋友,有空可以看下我的。你基础之上改了下,然后加了重复路径的验证 https://github.com/pjzhong/rust_practice/blob/master/algorithms/src/pretree/mod.rs

1 共 1 条评论, 1 页