0

我有 api,我想在 apigee 收到消息后立即返回给用户。不要等待我的服务的响应。您知道如何使用 apigee api 代理来做到这一点吗?

4

3 回答 3

2

上面提到的 node.js 方法可能是最直接的解决方案。有关在 Apigee 中使用 node.js 的信息,请访问http://apigee.com/docs/api-services/content/developing-nodejs-applications-apigee-edge

于 2014-01-10T23:36:08.730 回答
1

我相信您使用 httpClient get 方法尝试了最初的正确方法 Kaszaq。正如 Apigee Docs 中所记录的那样。

http://apigee.com/docs/api-services/content/javascript-object-model

https://github.com/apigee/api-platform-samples/blob/master/sample-proxies/async-callout/apiproxy/resources/jsc/callout.js

是的,如果您想要更强大的解决方案,请尝试 Node.js。

//
//  Make 5 HTTP callouts to Yahoo weather to get the weather for 5 cities 
//  The calls are all asynchronous and execute in parallel
//  httpClient returns an exchange object that will contain the HTTP response. . . when it arrives
//

var paloAlto = httpClient.get('http://weather.yahooapis.com/forecastrss?w=2467861'); 
context.session['paloAlto'] = paloAlto;

var anchorage = httpClient.get('http://weather.yahooapis.com/forecastrss?w=2354490'); 
context.session['anchorage'] = anchorage;

var honolulu = httpClient.get('http://weather.yahooapis.com/forecastrss?w=2423945');
context.session['honolulu'] = honolulu;

var newyork = httpClient.get('http://weather.yahooapis.com/forecastrss?w=2459115');
context.session['newyork'] = newyork;

var dublin = httpClient.get('http://weather.yahooapis.com/forecastrss?w=560743');
context.session['dublin'] = dublin;
于 2014-02-06T06:02:20.567 回答
0

因为您可以使用 Node.js 自定义 API。您可以使用它在您的 api 代理中实现异步行为。

有关使用 Node.js 自定义 api 的更多信息,请访问以下链接 - http://apigee.com/docs/api-services/content/developing-nodejs-applications-apigee-edge

于 2014-01-12T03:48:22.560 回答