#http-request #http #client #request #plain-text

feignhttp

针对 Rust 的声明式 HTTP 客户端

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日

#93HTTP 客户端

Download history 1/week @ 2024-04-16 3/week @ 2024-04-23 209/week @ 2024-05-21 11/week @ 2024-05-28 7/week @ 2024-06-04 4/week @ 2024-06-11 3/week @ 2024-07-16 157/week @ 2024-07-30

每月 160 次下载
entrait 中使用

MIT 许可证

64KB
1K SLoC

FeignHTTP

crates.io Documentation MIT licensed CI

FeignHTTP 是一个声明式 HTTP 客户端。基于 Rust 宏。

特性

  • 易于使用
  • 异步请求
  • 可配置的超时设置
  • 支持表单、纯文本和 JSON
  • 可选 HTTP 后端(reqwestisahc

用法

FeignHTTP 在异步函数上标记宏,你需要一个支持 async/await 的运行时。你可以使用 async-stdtokio

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