我的 API 路由被收集到一个范围内,如下所示:
.scope("/api", |s| s
.nested("/doorlock", routes::doorlock)
.resource("/config{path:.*}", |r| {
r.get().with(routes::config::read);
r.put().with(routes::config::write);
r.delete().with(routes::config::delete);
})
)
我正在考虑添加路由级保护,它可以通过或返回401 Unauthorizated
如下响应:
.scope("/api", |s| s
.filter(is_authenticated_and_authorized)
.nested("/doorlock", routes::doorlock)
.resource("/config{path:.*}", |r| {
r.get().with(routes::config::read);
r.put().with(routes::config::write);
r.delete().with(routes::config::delete);
})
)
不幸的是,这会将请求转发到默认处理程序,而不是在不匹配的情况下返回错误响应。