简介
Rocket是一个基于Rust编写的上层网络框架,是目前rust主流的网络框架之一,有8.8k的star。而它的http部分就是基于之前提到的hyper。按官方说法,具有如下三个特点:1安全无误、开发体验好 2自动解决请求处理的类型问题,且无需全局状态 3各种可插拔的可选组件。那让我们来一起看一看吧~
准备工作
需要在Cargo.toml中加入依赖
[dependencies]
rocket = "0.4.2"
然后需要注意,Rocket需要使用nigthly编译。也可以使用以下指令在当前目录中默认使用nightly
rustup override set nightly
Hello World
首先我们来写一个最简单的服务器,向请求返回hello world
// Rocket用到的rust的nightly的特性
#![feature(proc_macro_hygiene, decl_macro)]
use rocket::{get, routes, Rocket};
// get函数hello
#[get("/")]
fn hello() -> &'static str {
"Hello, world!"
}
fn rocket() -> Rocket {
// 把hello函数挂载到/
rocket::ignite().mount("/&#