pub struct Route {
pub name: String,
pub host: String,
pub path: String,
pub match_paths: Vec<String>,
pub service: String,
pub methods: Vec<String>,
pub header: BTreeMap<String, String>,
pub query: BTreeMap<String, String>,
pub plugins: Vec<ConfiguredPlugin>,
pub is_auth: bool,
pub auth_white_list: Vec<String>,
}Fields§
§name: String路由名称
host: StringHost,可选,* 代表不限制。
支持泛域名,格式为 *.example.com,通配符只能出现在域名开头。
path: String路径,支持通配符,必须以 / 开头,全局唯一。
同一域名下的路径不能存在冲突,如 /api/* 和 /api/** 就是冲突的路径,在控制台保存时需要校验。
所有为 * 的域名下的路径也不能冲突。
match_paths: Vec<String>转换后的匹配路径。
由于路径匹配组件使用的是matchit,格式为/xxx/{*any},
它不符合常用的/api/**的格式,而path储存的是常用格式,
所以这里需要做一次转换。
service: String需要路由到的服务ID,例如 user-service
methods: Vec<String>请求方法:GET | POST | PUT | DELETE | PATCH | OPTIONS | HEAD 支持配置多个。当为空数组时表示不限制。 不参与路由唯一性验证。
header: BTreeMap<String, String>header匹配条件。 当存在多个时,所有条件都匹配时才算匹配成功。 不参与路由唯一性验证。
query: BTreeMap<String, String>query匹配条件 当存在多个时,所有条件都匹配时才算匹配成功。 不参与路由唯一性验证。
plugins: Vec<ConfiguredPlugin>插件
is_auth: bool是否开启鉴权。
启用后,需要在控制台的“密钥管理”处创建API Key,
并通过请求头 X-Aiway-Authorization 传入,作为网关的鉴权凭证。
auth_white_list: Vec<String>鉴权路径白名单
Implementations§
Source§impl Route
impl Route
pub fn get_service(&self) -> &String
Sourcepub fn to_match_keys(&self) -> Vec<String>
pub fn to_match_keys(&self) -> Vec<String>
host + path作为匹配的key
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Route
impl<'de> Deserialize<'de> for Route
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Route
impl RefUnwindSafe for Route
impl Send for Route
impl Sync for Route
impl Unpin for Route
impl UnsafeUnpin for Route
impl UnwindSafe for Route
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more