21 个版本
0.5.2 | 2024年5月25日 |
---|---|
0.5.1 | 2023年6月4日 |
0.5.0 | 2023年1月1日 |
0.4.5 | 2022年9月14日 |
0.1.2 | 2021年3月21日 |
#93 在 HTTP 客户端 中
每月 160 次下载
在 entrait 中使用
64KB
1K SLoC
FeignHTTP
FeignHTTP 是一个声明式 HTTP 客户端。基于 Rust 宏。
特性
用法
FeignHTTP 在异步函数上标记宏,你需要一个支持 async/await 的运行时。你可以使用 async-std 或 tokio。
async-std
[dependencies]
async-std = { version = "1", features = ["attributes", "tokio1"] }
当使用 reqwest 作为 HTTP 后端时,需要功能 tokio1
。
tokio
[dependencies]
tokio = { version = "1", features = ["full"] }
在 Cargo.toml
中添加 feignhttp
并使用默认功能
feignhttp = { version = "0.5" }
然后添加以下代码
use feignhttp::get;
#[get("https://api.github.com")]
async fn github() -> feignhttp::Result<String> {}
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let r = github().await?;
println!("result: {}", r);
Ok(())
}
get
属性宏指定 GET 请求,feignhttp::Result<String>
指定返回结果。它将向 https://api.github.com
发送 GET 请求并接收纯文本正文。
使用非默认 HTTP 后端
feignhttp = { version = "0.5", default-features = false, features = ["isahc-client"] }
default-features = false
选项禁用默认的 reqwest。
更多示例,请点击 这里。
文档
阅读 文档 获取更多详细信息。
许可证
FeignHTTP 在 MIT 许可证下提供。请参阅 LICENSE。
依赖关系
~2–15MB
~226K SLoC