🚀

Rust の web フレームワーク Rocket を使って 3分 Hello, world!

2024/04/29に公開

はじめに

今回は Rust の web フレームワークの Rocketを使って3分で 「Hello,world!」を出力してみたいと思います。
実際に3分でできるように、細かいところは端折りつつ、とにかくスピード感持ってやっていきますよ!
(カップ麺の待ち時間にサクッと手を動かせますw)

🔻Rocket
https://rocket.rs/

Hello,world!

Rust の default stable版をインストールしておきます。

$ rustup default stable

Rust のプロジェクトを作成します。

$ cargo new hello-rocket --bin
$ cd hello-rocket

hello-rocketプロジェクト直下に、srcCargo.tomlがあればOKです。

Cargo.tomlを以下のように更新します。

Cargo.toml
[package]
name = "hello-rocket"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
rocket = "0.5.0"

src直下の main.rsファイルを開き、以下のように更新します。

main.rs
#[macro_use]
extern crate rocket;

#[get("/")]
fn index() -> &'static str {
    "Hello, world!"
}

#[launch]
fn rocket() -> _ {
    rocket::build().mount("/", routes![index])
}

GET /にアクセスすると、「Hello,world!」されるような簡易的なコードです。
ここまでできたら、cargo runを実行します。

$ cargo run

🔧 Configured for debug.
   >> address: 127.0.0.1
   >> port: 8000
   >> workers: 4
   >> max blocking threads: 512
   >> ident: Rocket
   >> IP header: X-Real-IP
   >> limits: bytes = 8KiB, data-form = 2MiB, file = 1MiB, form = 32KiB, json = 1MiB, msgpack = 1MiB, string = 8KiB
   >> temp dir: /var/folders/ln/23rt2v0j2zd001td8r7_j4gm0000gn/T/
   >> http/2: true
   >> keep-alive: 5s
   >> tls: disabled
   >> shutdown: ctrlc = true, force = true, signals = [SIGTERM], grace = 2s, mercy = 3s
   >> log level: normal
   >> cli colors: true
📬 Routes:
   >> (index) GET /
📡 Fairings:
   >> Shield (liftoff, response, singleton)
🛡️ Shield:
   >> X-Frame-Options: SAMEORIGIN
   >> X-Content-Type-Options: nosniff
   >> Permissions-Policy: interest-cohort=()
🚀 Rocket has launched from http://127.0.0.1:8000
GET / text/html:
   >> Matched: (index) GET /
   >> Outcome: Success(200 OK)
   >> Response succeeded.
GET /favicon.ico image/avif:
   >> No matching routes for GET /favicon.ico image/avif.
   >> No 404 catcher registered. Using Rocket default.
   >> Response succeeded.

http://127.0.0.1:8000にアクセスします。

無事に Hello,world! できましたね!

おわりに

3分間で「Hello,world!」できましたでしょうか。

まだ、慣れなくて時間がかかる方もいらっしゃるかもしれません。
構築に関しては、何回も繰り返すことでスピードアップできると思いますので、頑張っていきましょう!

入門向けのブログもたくさん配信していますので、もしよろしければ見ていただけると大変励みになります。
https://zenn.dev/collabostyle/articles/efbe2a89cf7c10
https://zenn.dev/collabostyle/articles/f095447d4fe756

では、Cheers!

コラボスタイル Developers

Discussion