MST

星途 面试题库

面试题:Rust中reqwest库API调用的复杂场景

使用reqwest库向一个需要身份验证(Bearer Token)的API发送POST请求,请求体为JSON格式的数据。假设API地址为'https://secure - api.com/api/post',Token为'your - token - here',JSON数据结构为{"key":"value"},请编写完整的Rust代码实现,同时要妥善处理异步操作和错误处理。
17.3万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
use reqwest::Client;
use serde::{Deserialize, Serialize};
use std::error::Error;

#[derive(Serialize)]
struct RequestBody {
    key: String,
}

#[derive(Deserialize)]
struct ResponseBody {
    // 根据实际API响应结构定义
}

#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
    let client = Client::new();
    let token = "your - token - here";
    let url = "https://secure - api.com/api/post";

    let request_body = RequestBody {
        key: "value".to_string(),
    };

    let response = client
      .post(url)
      .bearer_auth(token)
      .json(&request_body)
      .send()
      .await?;

    if response.status().is_success() {
        let response_body: ResponseBody = response.json().await?;
        println!("Response: {:?}", response_body);
    } else {
        println!("Request failed with status: {}", response.status());
    }

    Ok(())
}