Jump to content

Ракета (веб-фреймворк)

Ракета
Разработчик(и) Серхио Бенитес [1]
Первоначальный выпуск 2016 ; 8 лет назад ( 2016 )
Стабильная версия
0.5.1 [2]  Отредактируйте это в Викиданных / 23 мая 2024 г .; 2 месяца назад ( 23 мая 2024 г. )
Репозиторий github /rwf2 /Ракета
Написано в Ржавчина
Операционная система Linux , macOS , Windows , FreeBSD , OpenBSD
Тип Веб-фреймворк
Лицензия Лицензия MIT или лицензия Apache
Веб-сайт ракета .rs

Rocket — это веб-фреймворк, написанный на Rust . [3] [4] Он поддерживает HTTP-запросы , веб-сокеты JSON , шаблоны и многое другое. Его дизайн был вдохновлен Rails , Flask , Bottle и Yesod . [5] Он лицензируется по лицензии MIT или Apache License .

Чтобы создать веб-сервер с помощью Rocket, пользователь определяет приложение, а затем использует функцию «монтирования», чтобы прикрепить к нему «маршруты». Каждый «маршрут» представляет собой функцию ржавчины с прикрепленным к ней макросом . Функция определит код, который должен отвечать на HTTP-запрос . Макрос, написанный как часть объявления функции, будет определять, какой HTTP-метод (например, GET, POST, PUT и т. д.) он должен обрабатывать, а также шаблон, описывающий URL-адрес, к которому он должен относиться.

Это пример работающего ракетного приложения:

#[macro_use] extern crate rocket;

#[get("/hello/<name>/<age>")]
fn hello(name: &str, age: u8) -> String {
    format!("Hello, {} year old named {}!", age, name)
}

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

Отправка HTTP-запроса GET в /hello/John/20 вернет следующий ответ:

Hello, 20 year old named John!.

Rocket реализует следующие возможности:

  • Маршрутизация — Rocket позволяет пользователю определять структуру маршрутов, которые должно учитывать приложение, а также код, который должен выполняться в различных комбинациях маршрутизации. Например, следующий код заставит приложение Rocket реагировать на /hello маршрут с «Hello World»:
    #[get("/")]
    fn index() -> &'static str {
        "Hello, world!"
    }
    
  • Данные формы — Rocket позволяет пользователю определить модель Serde и использовать ее для анализа данных формы, а также передавать их как собственный объект ржавчины обработчику маршрута.
  • Защитники запросов — обработчики маршрутов могут содержать специальные параметры, называемые «Защитники запросов», которые предназначены для предотвращения вызова кода внутри обработчика в случае невыполнения определенного условия. Эту функцию можно использовать, например, для предотвращения запросов, не содержащих ключ API . Используя функцию Request Guard, пользователь может определить условие в одном месте и применить его для предотвращения доступа к нескольким маршрутам, добавив защиту в свой список параметров.
  1. ^ «Серхио Бенитес - Кто я?» . sergio.bz . Проверено 30 мая 2020 г.
  2. ^ «Выпуск 0.5.1» . 23 мая 2024 г. Проверено 25 мая 2024 г.
  3. ^ Шлотауэр, Сара (14 декабря 2018 г.). «Speedy Rust Framework для веб-приложений прожигает небо» . JAXenter . Проверено 29 мая 2020 г.
  4. ^ Эквуно, Обинна (18 октября 2019 г.). «Лучшие фреймворки Rust, которые стоит попробовать в 2019 году» . ЛогРокет . Проверено 29 мая 2020 г.
  5. ^ «Введение — Руководство по программированию ракет» . ракета.рс . Проверено 30 мая 2020 г.
[ редактировать ]


Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: c6c7dc22cbe2d21e6f236a48e6ac23dd__1713211740
URL1:https://arc.ask3.ru/arc/aa/c6/dd/c6c7dc22cbe2d21e6f236a48e6ac23dd.html
Заголовок, (Title) документа по адресу, URL1:
Rocket (web framework) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)