[[reqwest]]を使う。
## インストール
[[Cargo.toml]]の[[dependencies]]に以下を追加。
```toml
[dependencies]
reqwest = { version = "0.11", features = ["json"] }
tokio = { version = "1", features = ["full"] }
```
## シンプルな例
公式READMEを参照。
## 少し複雑な例
[[Bearer認証]]を使った例。`reqwest::Client`を使う。
```rust
use anyhow::Error;
use serde::{Deserialize, Serialize};
#[derive(Debug, Serialize, Deserialize)]
struct Response {
messages: Messages,
}
#[derive(Debug, Serialize, Deserialize)]
struct Messages {
matches: Vec<Message>,
}
#[derive(Debug, Serialize, Deserialize)]
struct Message {
text: String,
}
async fn search_message() -> Result<Response, Error> {
let token = "xxxxx"
let client = reqwest::Client::new();
client
.get("https://slack.com/api/search.messages?query=Slack&pretty=1")
.bearer_auth(token)
.send()
.await?
.json::<Response>()
.await?
}
```