- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的 API 上有一些路由。并有一个中间件。它创建不记名 token 并检查它。但是我希望我的一些路由不要进入那个中间件,这样我就可以在没有 token 的情况下访问。我怎样才能做到?我的中间件:
app.use(async (req, res, next) => {
if (
req.path === "/api/v1/collection/byhome" || // I dont want that part.
req.path === "/api/v1/user/login" // Its working but its not looks like best solution.
) {
next();
} else {
const bearerHeader = req.header("authorization");
if (typeof bearerHeader !== "undefined") {
const bearer = bearerHeader.split(" ");
const bearerToken = bearer[1];
req.token = bearerToken;
jwt.verify(req.token, process.env.SECRETKEY, async (err, authData) => {
if (err) {
res.sendStatus(401);
} else {
next();
}
});
} else {
res.statusCode = 400;
const Response = {
message: "Invalid Token",
StatusCode: res.statusCode,
};
res.json(Response);
}
}
});
我的路线:
app.get(
`/api/${version}/article/bycollection/:id`,
ArticleRoute.getbycollection
);
最佳答案
您的做法是正确的,您可以通过将所有您希望超出中间件范围的中间件组成一个数组来使您的代码更具可读性
const whiteListEndpoints = ["/api/v1/this", "/api/v1/this1", "/api/v1/this2"]
然后
// your middleware
app.use((req, res,next) => {
//if the path was in the whitelist just call next function
if(whiteListEndpoints.includes(req.url)) return next()
// let the middlware do it's job
})
或者您可以更改您的 express 使用
订单
const firstRoute = app.use("/no_middleware", router);
app.use((req, res, next) => {}) // your middleware
const secondRoute = app.use("/with_middleware", router);
这里第一个路由器不会使用中间件,因为它还没有被调用。
关于javascript - NodeJS 我怎样才能让我的路线脱离中间件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68346847/
我正在尝试创建一个函数,以便您可以循环遍历一个包含很多对象的大对象,并按值找到特定的方法。我想在使用break语句找到值时停止函数中的循环。这是我的代码。 let fake_window = {
所以,我有以下代码: var name = prompt("What's your name?"); var greeting = "Hello " + name + " :D"; console.
有时,即使是最简单的事情也似乎是不可能的……看看这个,如果您明白我没有看到的东西。 >> LINK 一个 div(绿色),使用类分为两侧 L 和 R。 出于某种原因,类“left-content,ri
许多框架试图从 HTML(自定义标签、JSF 组件系统)中抽象出来,以便更轻松地处理特定的鱼缸。 你们有没有使用过将类似概念应用于 CSS 的东西?可以为您带来一系列跨浏览器魔法的东西,支持类似变量(
我有一个版本历史记录,我正在尝试在其上运行 gradle 构建,并在我的 bash 脚本中运行 while read -r version do git checkout $version
这个问题在这里已经有了答案: Android & RoboGuice - Inject views on Fragment? (1 个回答) 关闭 8 年前。 我有一个 roboactivity,我
我的问题是是否有一个 rails 等同于“脱离” Controller 操作,例如 def new if some_confirmation do_stuff
我厌倦了 此客户端太旧,无法使用工作副本 每当我在使用比石器时代更新的 svn 客户端修复我的工作副本后回到 Eclipse 时。 有没有办法让 Subclipse 使用当前的 Subversion
代码笔示例:http://codepen.io/mattrice/full/peXeqd/ 我想要的是 SVG 完全包含在父级的给定宽度内(本例为 6 列,但可以是任何其他任意宽度的网格元素)。 此示
我正在构建一个带有 TextView、ScrollView 和 LinearLayout 的 Android 应用程序,我想使用 Java 将一个 TextView 和一个 ImageView 添加到
我想在进行一些测试后分析我的 iPhone 应用程序中的数据,这些数据位于 SQLite 数据库中。有什么办法可以将它从 iPhone 复制回我的笔记本电脑吗?我不知道有任何机制允许我进行文件系统样式
我在 div 中有一个(带边框)。这在 Firefox 和 IE 10 上看起来不错(不确定旧版本的 IE)。但是,有时 IE 会激活兼容模式,然后表单(输入框和提交按钮)会脱离 div。是否有一些
内的 anchor 脱离
这是我的html文件 My text content is here...... lINK1lINK2 这是CSS div { width:960px; border:1px so
有人可以指出我研究如何防止用户使用 Ctrl+Z、Ctrl+C? 最佳答案 如果你用 PCNTL 编译了 php (进程控制)并且未运行 Windows,您可以使用 pcntl_signal() .
我是一名优秀的程序员,十分优秀!