Node.js apigee access是否与express4配合使用

Node.js apigee access是否与express4配合使用,node.js,express,apigee,Node.js,Express,Apigee,似乎没有办法让apigee access与express v4配合使用,还有另一个问题问同样的问题,但已经10个月了,似乎仍然不起作用,我与apigee edge合作了大约8个月,我觉得如果与express不兼容,我看不到使用apigee access的意义,特别是当您在nodejs端点中进行一些高级操作时。是否有其他方法从express/nodejs访问和设置流变量?我们的“使用apigee access使express正常工作”?提前感谢…以我的经验,与express合作。我不知道你有什么麻

似乎没有办法让apigee access与express v4配合使用,还有另一个问题问同样的问题,但已经10个月了,似乎仍然不起作用,我与apigee edge合作了大约8个月,我觉得如果与express不兼容,我看不到使用apigee access的意义,特别是当您在nodejs端点中进行一些高级操作时。是否有其他方法从express/nodejs访问和设置流变量?我们的“使用apigee access使express正常工作”?提前感谢…

以我的经验,与express合作。我不知道你有什么麻烦

下面是一些适用于我的示例代码:

var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var apigee = require('apigee-access');
var env = process.env;

app.use(bodyParser.json());

app.use("/about", function(req, res, next) {
  var message = { "route" : 1 };
  message['path-in-apigee'] = apigee.getVariable(req, 'request.path') || "unknown";
  message['express-baseUrl'] = req.baseUrl;
  res.json(message);
});

// catch 404
app.use(function(req, res, next) {
  var payload = { message: "Not found" };
  res.status(404);
  res.json(payload);
});

app.listen(process.env.PORT | 8124, function() {
  var host = server.address().address;
  var port = server.address().port;
  console.log('listening at http://%s:%s', host, port);
});
我使用了express 4.12.3和apigee access 1.3.0

发送此请求时:

curl -i http://ORGNAME-ENVNAME.apigee.net/proxy-pathsuffix/about
我得到的答复是:

{
    "express-baseUrl": "/about",
    "path-in-apigee": "/proxy-pathsuffix/about",
    "route": 1
}
注意:代理基本路径在proxies/default.xml中设置如下:

<ProxyEndpoint name='default'>
  <Description>Default Proxy</Description>
  <HTTPProxyConnection>
    <BasePath>/proxy-pathsuffix</BasePath>
    <Properties/>
    <VirtualHost>default</VirtualHost>
    <VirtualHost>secure</VirtualHost>
  </HTTPProxyConnection>
...

默认代理
/代理路径后缀
违约
保护
...
我建议你尝试更多的后续行动。它相当活跃

以我的经验,与express合作。我不知道你有什么麻烦

下面是一些适用于我的示例代码:

var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var apigee = require('apigee-access');
var env = process.env;

app.use(bodyParser.json());

app.use("/about", function(req, res, next) {
  var message = { "route" : 1 };
  message['path-in-apigee'] = apigee.getVariable(req, 'request.path') || "unknown";
  message['express-baseUrl'] = req.baseUrl;
  res.json(message);
});

// catch 404
app.use(function(req, res, next) {
  var payload = { message: "Not found" };
  res.status(404);
  res.json(payload);
});

app.listen(process.env.PORT | 8124, function() {
  var host = server.address().address;
  var port = server.address().port;
  console.log('listening at http://%s:%s', host, port);
});
我使用了express 4.12.3和apigee access 1.3.0

发送此请求时:

curl -i http://ORGNAME-ENVNAME.apigee.net/proxy-pathsuffix/about
我得到的答复是:

{
    "express-baseUrl": "/about",
    "path-in-apigee": "/proxy-pathsuffix/about",
    "route": 1
}
注意:代理基本路径在proxies/default.xml中设置如下:

<ProxyEndpoint name='default'>
  <Description>Default Proxy</Description>
  <HTTPProxyConnection>
    <BasePath>/proxy-pathsuffix</BasePath>
    <Properties/>
    <VirtualHost>default</VirtualHost>
    <VirtualHost>secure</VirtualHost>
  </HTTPProxyConnection>
...

默认代理
/代理路径后缀
违约
保护
...
我建议你尝试更多的后续行动。它相当活跃