使用Express JS .all()方法:检测实际使用的VERB

时间:2012-10-18 19:17:53

标签: javascript node.js rest request express

我将创建一个/api端点,盲目地将请求和响应来回传递给旧的RESTful API系统(用Ruby编写并托管在不同的域上)。

这是一个中间过渡步骤,所以应该只是工作。

所以,我看到如何使用app.all()轻松实现这一目标。但由于API是RESTful,我还必须维护用于请求的HTTP谓词 - 所以,我可以从req对象中检测到它吗?如果没有,当然我可以为GET,PUT,POST,DELETE,OPTIONS订阅5个处理程序,但要避免这种情况会好得多。

另外,我应该如何处理请求体(查询字符串和有效负载)? 我假设我需要手动从已解析的req.query重新创建查询字符串,并将req.body传递给request https://github.com/mikeal/request,这是对的吗?

2 个答案:

答案 0 :(得分:25)

我想你们都需要req.method。要处理正文,请添加express.bodyParser()中间件。

答案 1 :(得分:3)

如果您只想传递请求并返回响应,那么您正在寻找代理

我建议您查看node-http-proxy。只需加载代理库,初始化代理,并代理所有请求。