6 个版本
0.1.23 | 2024 年 8 月 1 日 |
---|---|
0.1.22 | 2024 年 8 月 1 日 |
#2124 在 异步
374 每月下载次数
在 shuller 中使用
8KB
52 行
Uller
关于
此 crate 为您提供
MakeLink
- 从结构体生成
Url
的接口。
- 从结构体生成
JsonDownload<T>
- 使用
MakeLink
从生成的Url
获取数据并将其转换为<T>
结构体的接口。
- 使用
BytesDownload
- 从
MakeLink
转换下载数据为bytes
的接口。
- 从
注意:为您的项目添加 url crate。
以下信息包含来自 uller-macro crate 的示例。
示例(future - macro)
Qller(默认)
使用结构体作为输入以查询样式实现 MakeLink
的宏。
示例
use uller::prelude;
#[derive(Qller)]
#[url = "http://127.0.0.1:1234/"]
struct Test {
#[name = "f"] // rename to "f"
f111: String,
#[name = "v"] // rename to "v"
#[pos = 0] // move it to the first position
v222: String,
}
这将转换为:http://127.0.0.1:1234/?v={value}&f={value}
注意:位置从 0 开始,类似于数组。
示例(future - juller)
Juller(功能 - juller)
使用实现 MakeLink
(Qller
)和 JsonDownload
的结构体下载 <T>
的宏。
示例
use uller::prelude;
#[derive(Qller, Juller)]
#[output = "TestOut"]
#[url = "http://127.0.0.1:41112/"]
struct Test {
f: String,
v: String,
}
#[derive(Deserialize, Debug)]
struct TestOut {
field: String,
}
async fn convert(st: &Test) -> TestOut {
st.download().await.unwrap()
// or
st.download_verbose().await.unwrap()
}
示例(future - buller)
Buller(功能 - buller)
使用实现 MakeLink
(Qller
)和 BytesDownload
的结构体下载 Bytes
的宏。
示例
use uller::prelude;
#[derive(Qller, Buller)]
#[url = "http://127.0.0.1:41112/"]
struct Test {
f: String,
v: String,
}
async fn convert(st: &Test) -> bytes::Bytes {
st.download().await.unwrap()
// or
st.download_verbose().await.unwrap()
}
依赖关系
~1–12MB
~148K SLoC