node.js-express.js API删除http后处理程序

node.js express.js API to remove http post handler

本文关键字:http 后处理 程序 删除 API js-express js node      更新时间:2024-01-18

这是我的简化问题,我将http post处理程序附加到express,稍后我需要删除这个附加的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'); }

Express没有官方删除此类路线的方法。您可以做的是在处理程序中检查一些标志,如果设置了该标志,则该处理程序仅调用next()。您可以通过深入了解Express的内部来删除路由,如本答案所示。然而,当你依赖这样的内部/私人/无证财产时,你应该预料到未来可能会发生破坏。