【问题标题】:node.js express.js API to remove http post handler [duplicate]node.js express.js API删除http post处理程序[重复]
【发布时间】:2016-07-25 16:13:16
【问题描述】:

这是我的简化问题,我在其中附加了要表达的 http post 处理程序,稍后我需要删除这个附加的 http post 处理程序

var express = require("express")();
...
express.post('/api', function(req,res){..})
... 
//later i need to detach the handler
express.removeListener('/api')

在此之后,/api url 上应该没有 http post 处理程序,并且应该“重新路由”到默认处理程序,有没有我可以使用的 express.js API 调用?

编辑:

我可以做这样的事情作为一种解决方法

express.post('/api',function(req,res){ res.status(404).send('Not found'); }

【问题讨论】:

    标签: javascript node.js web-services http express


    【解决方案1】:

    Express 没有 官方 方法来删​​除这样的路线。你可以做的是检查处理程序中的一些标志,如果它设置了标志,它只会调用next()。但是,您可以通过深入研究 Express 的内部来删除路由,如 this answer 所示。但是,当依赖此类内部/私有/未记录的属性时,您应该预料到将来可能会损坏。

    【讨论】:

    • 如果我用发送 404 的回调重新绑定 http post 处理程序会发生什么,它会工作吗?
    猜你喜欢
    • 2013-12-19
    • 2017-10-31
    • 1970-01-01
    • 2011-09-21
    • 1970-01-01
    • 1970-01-01
    • 2011-07-10
    • 2010-11-24
    • 2017-09-30
    相关资源
    最近更新 更多