#http-client #http-request #async-http #http #web #axios

raxios

基于 JS Axios 库的 Rust 简单易用的 HTTP 客户端

18 个版本 (5 个重大更新)

0.5.2 2022年10月1日
0.5.1-alpha2022年9月22日
0.4.0-alpha2022年9月22日
0.3.1-alpha2022年9月21日
0.0.5-alpha2022年9月20日

#67 in #reqwest


nexus_mods_api 中使用

MIT 许可证

47KB
921

Raxios

类似于 JS 库 "axios" 的以异步为中心的 Rust 库

!声明!虽然 Raxios 处于 alpha 状态,但请考虑任何小版本变化为破坏性变化。Raxios 将不会在 1.0.0 版本发布之前退出 alpha 状态并变得稳定。

功能

  • JSON、XML 和 URL 编码序列化
  • JSON 反序列化(XML 和其他即将推出)
  • 类似 "axios" 的 API

使用/示例

use raxios::Raxios;

#[derive(serde::Serialize, serde::Deserialize, Debug)]
struct ToReceive {
    field1: String
}

#[derive(serde::Serialize, serde::Deserialize, Debug)]
struct ToSend {
    field1: String
}

#[tokio::main]
async fn main() -> anyhow::Result<()> {

    // An error _might_ occur here if you try to set non-valid headers in the Options
    let client = Raxios::new("", None)?;

    let data_to_send = ToSend { field1 : String::from("Hello World") };

    let result = client
        .post::<ToReceive, ToSend>("/endpoint", Some(data_to_send), None)
        .await?;

    println!("{0}", result.body.unwrap());
}

文档

docs.rs

许可证

MIT

docs.rs 下载 版本
docs.rs Crates.io Crates.io

依赖项

~4–19MB
~254K SLoC