Да започнем
Част 1: създаване на проект
Ще създадем нов проект за ръжда с товар
> cargo new my-server > cd my-server > cargo run
Част 2: Инсталиране на рамката на Rocket
Въведение в рамката на Rocket
Ще използваме rocket framework, за да изградим нашия сървър
Rocket е уеб рамка за Rust, която улеснява писането на бързи и сигурни уеб приложения, без да се жертва гъвкавостта, използваемостта или безопасността на типа.< br /> https://rocket.rs/
В директорията на вашия проект можете да намерите файла Cargo.toml. Отидете до този файл и добавете ракетна зависимост.
Файлът Cargo.toml е като package.json в nodejs
[package] name = "my-server" version = "0.1.0" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] rocket = {version = "0.5.0-rc.1", features = ["json"]}
Част 3: Създаване на уеб сървър
Отидете до вашия файл main.rs, наличен в основната директория в папката src
Първото нещо е да импортираме rocket
ние импортираме rocket с macro_use, защото рамката на rocket използва широко макроси
#[macro_use] extern crate rocket;
Отървете се от основната функция по подразбиране
fn main() { println!("Hello, world!"); }
След това ще добавим нашия първи маршрут
GET http://localhost:8000/server/hello-world
#[get("/hello-world")] fn hello_world() -> &'static str {"Hello world"}
И накрая, нека изградим нашия сървър, който ще слуша на 8000 порт по подразбиране
#[launch] fn rocket()-> _ { rocket::build().mount( "/server", routes![hello_world]) }
функцията за монтиране на ракетата се използва за монтиране на маршрути. Първият му параметър е основният маршрут, а вторият параметър са всички наши маршрути.
Най-накрая вашият main.rs трябва да изглежда нещо подобно
#[macro_use] extern crate rocket; #[get("/hello-world")] fn hello_world() -> &'static str { "Hello world" } #[launch] fn rocket()-> _ { rocket::build().mount( "/server", routes![hello_world]) }
Част 4: Изпълнение на вашия уеб сървър
cargo run
Да посетим нашия маршрут
http://localhost:8000/server/hello-world
Благодаря, че прочетохте :)
Amogh Chavan
Github: https://github.com/amogh-chavan
LinkedIn: https://www.linkedin.com/in/amogh-chavan/