【问题标题】:Handle POST requests with koa-proxy使用 koa-proxy 处理 POST 请求
【发布时间】:2017-01-23 16:38:26
【问题描述】:

我正在尝试配置代理中间件 koa-proxy。它适用于所有 GET 请求,但带有正文的 POST 请求无法到达实际的 API。

let koa = require('koa');
let staticServe = require('koa-static');
let bodyParser = require('koa-bodyparser');
let config = require('./config');
let proxy = require('koa-proxy')({ host: 'config.API_URL' });

let app = koa();

app.use(staticServe(config.staticPath));
app.use(bodyParser());

app.use(proxy);

app.listen(config.port);
console.log(`Listening on port ${config.port}`);

我应该如何配置它以使应用程序向localhost 发出所有请求,然后将其定向到带有正文的 API URL 并正确处理?

【问题讨论】:

  • 您是否尝试删除app.use(bodyParser())koa-proxy 内部使用pipe,所以不需要解析body,除非你想记录或使用它。

标签: node.js proxy koa koa-router


【解决方案1】:

嗯。您应该通过koa-proxy确认您的原始数据的数据结构和数据代理。

在我的例子中,原始数据内容类型是'x-www-urlencoded',但是被koa-proxy代理,它变成了一个[object Object],所以它不能正确代理。并且请求无法发送。

【讨论】:

    【解决方案2】:

    正如@zeroone 所建议的,是正文解析器导致了问题。删除它,它会正常工作。

    【讨论】:

      猜你喜欢
      • 2015-10-08
      • 1970-01-01
      • 2014-04-17
      • 1970-01-01
      • 1970-01-01
      • 2010-12-08
      • 1970-01-01
      • 2016-09-29
      • 1970-01-01
      相关资源
      最近更新 更多