Rust 的强类型路由

时间:2021-06-28 19:12:46
【文件属性】:
文件名称:Rust 的强类型路由
文件大小:47KB
文件格式:ZIP
更新时间:2021-06-28 19:12:46
routetype-rs 路由类型该存储库正在进行中,是对 Rust 中强类型路由的实验性探索。它遵循我之前在 Haskell 中使用Yesod 的工作。什么是强类型路由?使用强类型路由,你有一个单一的enum (或者,在 Haskell 中,ADT)代表你的 web 应用程序中所有可能有效的 URL。这种类型具有解析和渲染功能,通常由元编程自动生成以避免样板错误。进入您的应用程序首先调用该解析函数以生成此类型的值。不是使用字符串插值在应用程序中生成链接,而是使用渲染函数。为什么我想要强类型路由?有几个优点:如果您更改路由的结构,生成的代码会自动更新。更强烈的是,如果您修改路由的参数,现有代码将无法编译,并迫使您适当地更新代码。在我看来,这是强类型代码库的最大优势:常见错误会转换为编译时错误,编译器可以准确告诉您需要修复的内容。以这种方式生成 URL 会少很多乏味。您可以参考一种*数据类型来查看应用程序的所有不同部分。这个项目包括什么?这是一项正在进行的工作,但目前它包括:routetype用于解析路径和查询字符串的辅助函数,正确支持 URL 解码和极端情况,例如“没有值的查询字符串键”,例如?foo&
【文件预览】:
routetype-rs-master
----routetype-hyper()
--------src()
--------Cargo.toml(565B)
----routetype()
--------Cargo.lock(1KB)
--------tests()
--------src()
--------Cargo.toml(260B)
----Cargo.lock(42KB)
----.github()
--------workflows()
----Cargo.toml(137B)
----routetype-warp()
--------src()
--------Cargo.toml(211B)
----.gitignore(8B)
----README.md(3KB)
----routetype-derive()
--------src()
--------Cargo.toml(263B)
----routetype-example()
--------templates()
--------assets()
--------src()
--------Cargo.toml(616B)

网友评论