メモ > 技術 > プログラミング言語: Rust > Webアプリケーション
Webアプリケーション
実践Rustプログラミング入門 - 秀和システム あなたの学びをサポート!
https://www.shuwasystem.co.jp/book/9784798061702.html
ここでは、WebアプリケーションでTODOリストを作成する
以下のとおり、プロジェクトを作成する
>cd C:\Users\refirio\Rust
>cargo new todo --bin
>cd todo
「actix-web v4.8.0」「actix-rt v2.10.0」を使用する
https://crates.io/crates/actix-web
https://crates.io/crates/actix-rt
Cargo.toml の最終行を以下のように調整する
[dependencies]
↓
[dependencies]
actix-web = "4.8"
actix-rt = "2.10"
src/main.rs の内容を以下のようにする
use actix_web::{get, App, HttpServer, Responder};
#[get("/")]
async fn index() -> impl Responder {
format!("Hello, world!")
}
#[actix_web::main]
async fn main() -> std::io::Result<()> {
HttpServer::new(|| {
App::new().service(index)
})
.bind(("127.0.0.1", 8080))?
.run()
.await
}
以下のとおり実行する
>cargo run
ブラウザソフトで以下にアクセスすると、画面に「Hello, world!」と表示される
http://localhost:8080/
以下のようにすると、さらに http://localhost:8080/hello/Taro にアクセスしたとき「Hello, Taro!」と表示されるようになる
use actix_web::{get, web, App, HttpServer, Responder};
#[get("/")]
async fn index() -> impl Responder {
format!("Hello, world!")
}
#[get("/hello/{name}")]
async fn hello(name: web::Path<String>) -> impl Responder {
format!("Hello, {name}!")
}
#[actix_web::main]
async fn main() -> std::io::Result<()> {
HttpServer::new(|| {
App::new()
.service(index)
.service(hello)
})
.bind(("127.0.0.1", 8080))?
.run()
.await
}
■データベース
Rust大好きっ子のためのデータベース考
https://zenn.dev/kyoheiu/articles/c3b6b6f156e57a
■メモ
Rust で Web アプリケーションはどこまで開発できるのか - Speaker Deck
https://speakerdeck.com/helloyuk13/rust-de-web-apurikesiyonhadokomadekai-fa-dekirufalseka
Rustでサイトを再実装
https://r7kamura.com/articles/2021-11-07-ruby-to-rust-at-this-site
RustでWebアプリケーションのバックエンドを開発するには ─ 型システムの堅牢性と柔軟性を業務システムにも! - エンジニアHub|Webエンジニアのキャリアを考える!
https://eh-career.com/engineerhub/entry/2022/09/12/093000
Rust on Rails!? Rust 版の Rails と呼ばれる "Loco" を試す!
https://zenn.dev/collabostyle/articles/45762b07bc16fb