> [!hint]- `query`が空のときは > `&[("", "")]`を指定する。 ## [[Bearer認証]]のGETリクエスト ```rust async fn get_request<T: Serialize + ?Sized, R: DeserializeOwned>( token: &str, path: &str, query: &T, ) -> Result<R, anyhow::Error> { Ok(reqwest::Client::new() .get(format!("{}{}", BASE_URL, path)) .query(query) .bearer_auth(token) .send() .await? .json::<R>() .await?) } ``` ## [[x-www-form-urlencoded]]のPOSTリクエスト https://docs.rs/reqwest/0.9.18/reqwest/struct.RequestBuilder.html#method.form ```rust async fn post_request<Q: Serialize + ?Sized, F: Serialize, R: DeserializeOwned>( token: &str, path: &str, query: &Q, form: &F, ) -> Result<R, anyhow::Error> { Ok(reqwest::Client::new() .post(format!("{}{}", BASE_URL, path)) .query(query) .bearer_auth(token) .form(form) .send() .await?; .json::<R>() .await?) } ```