■ はじめに
簡単なツールを作りたくて、 どうせなら、Rust で作れば、Rust の勉強になると思ったので
目次
【1】axum 【2】前提条件 【3】Hello world作成手順 Step1:プロジェクトを作成 Step2:Cargo を修正 Step3:Mainを修正 Step4:実行&動作確認
【1】axum
* Rust の webアプリケーション フレームワーク
https://docs.rs/axum/latest/axum/
【2】前提条件
* Rust の開発環境が構築していること => 構築していない場合、以下の関連記事を参照のこと
Rust ~ 環境構築編 ~
https://dk521123.hatenablog.com/entry/2023/04/22/234808
【3】Hello world作成手順
Step1:プロジェクトを作成
# cargo new <ProjectName> --bin (--bin: バイナリ作成) cargo new hello_world --bin
Step2:Cargo を修正
* なお、dependencies のバージョンについては 以下のサイトから調べるといい。
Cargo.toml
[package] name = "hello_world" version = "0.1.0" edition = "2021" [dependencies] axum = "0.6.20" tokio = { version = "1", features = ["full"] }
Step3:Mainを修正
* 「#[tokio::main]」も重要
main.rs
use axum::{routing::get, Router}; use std::net::SocketAddr; #[tokio::main] async fn main() { let app = Router::new().route("/", get(handler)); let addr = SocketAddr::from(([127, 0, 0, 1], 3000)); axum::Server::bind(&addr) .serve(app.into_make_service()) .await .unwrap(); } async fn handler() -> &'static str { "Hello, world!!!!" }
Step4:実行&動作確認
実行
cd hello_world
cargo run
動作確認
* ブラウザで以下のURLにアクセスする => 「Hello, world!!!!」
参考文献
https://github.com/programatik29/axum-tutorial/blob/master/tutorial/03-hello-world.md
関連記事
Rust ~ 環境構築編 ~
https://dk521123.hatenablog.com/entry/2023/04/22/234808