node.js express.js用于删除http post处理程序的API

时间:2016-04-05 15:45:10

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

这是我的简化问题,我附上了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'); }

1 个答案:

答案 0 :(得分:0)

Express没有官方方式删除这样的路线。您可以做的是检查处理程序中的一些标志,如果标志已设置,则仅调用next()。您可以通过深入了解Express的内部来删除路由,如this answer所示。但是,当依赖于这样的内部/私人/未记录的属性时,您应该期待将来可能发生的破坏。