访问redstone拦截器中的当前路由元数据
问题描述:
如何从拦截器内访问路由或组元数据?访问redstone拦截器中的当前路由元数据
我想补充一个@public()像一个路线:
@app.Route("/user/find/:id")
@public()
getUser(String id) => {"name": "User", "login": "user"};
,并创建一个拦截器,阻止访问路线不具有公共的元数据,并且没有用户登录。这可能吗?
@app.Interceptor(r'/admin/.*')
adminFilter() {
if (app.request.session["username"] != null || CURRENT_ROUTE_HAS_PUBLIC_METADATA) {
return app.chain.next();
} else {
return app.chain.abort(HttpStatus.UNAUTHORIZED);
//or app.chain.redirect("/login.html");
}
}
答
我向包含方法镜像和组镜像的包添加了一个选项。有了这个,我可以检索所有暴露路由模式的公开方法。