这是我的简化问题,我附上了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'); }
答案 0 :(得分:0)
Express没有官方方式删除这样的路线。您可以做的是检查处理程序中的一些标志,如果标志已设置,则仅调用next()
。您可以通过深入了解Express的内部来删除路由,如this answer所示。但是,当依赖于这样的内部/私人/未记录的属性时,您应该期待将来可能发生的破坏。