Давайте начнем
Часть 1: создание проекта
Создадим новый ржавый проект с грузом
> cargo new my-server > cd my-server > cargo run
Часть 2. Установка платформы Rocket
Введение в фреймворк Rocket
Мы будем использовать фреймворк Rocket для создания нашего сервера
Rocket — это фреймворк для Rust, который упрощает написание быстрых и безопасных веб-приложений без ущерба для гибкости, удобства использования или безопасности типов.< br /> https://rocket.rs/
В каталоге вашего проекта вы можете найти файл Cargo.toml. Перейдите к этому файлу и добавьте Rocket dependency.
Файл 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.
Во-первых, нужно импортировать ракету
мы импортируем ракету с помощью macro_use, потому что фреймворк ракеты широко использует макросы.
#[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://локальный:8000/сервер/привет-мир
Спасибо за прочтение :)
Амог Чаван
Github: https://github.com/amogh-chavan
LinkedIn: https://www.linkedin.com/in/amogh-chavan/