Rocket是一个用Rust写的MVC框架,简单易用
本篇文章介绍如何进行跨域,这里使用一个第三方库实现,rocket_cors
实现步骤:
- Cargo.toml添加依赖
rocket_cors = "0.5.1"
- 配置CORS,新建一个函数
use rocket::http::{Method};
use rocket_cors::{Cors, AllowedOrigins, AllowedHeaders};
pub fn get_cors() -> Cors {
// 允许访问的域,这里允许全部,如果要指定其他可以
// let allowed_origins = AllowedOrigins::some_exact(&["https://www.acme.com"]);
let allowed_origins = AllowedOrigins::All;
// You can also deserialize this
rocket_cors::CorsOptions {
allowed_origins,
allowed_methods: vec![Method::Get, Method::Post, Method::Options].into_iter().map(From::from).collect(),
// 指定header:AllowedHeaders::some(&["Authorization", "Accept"]),
allowed_headers: AllowedHeaders::All,
allow_credentials: true,
..Default::default()
}.to_cors().expect("cors config error")
}
- 启动方法添加attach
rocket::ignite()
.mount("/", routes![xxx])
// 跨域设置
.attach(get_cors())
.launch()