我的项目使用botkit-middleware-watson与IBM Watson进行对话。现在,我需要为此Watson服务制作一个模拟服务器。
这只是调用Watson API的一行代码。
await watsonMiddleware.sendToWatsonAsync(bot, msg, null);
我的问题是,如何截获API调用并将该调用重定向到我的Watson Mock-Server?
最佳答案
像this one这样的botkit-middleware-watson示例展示了如何配置WatsonMiddleware
:
const WatsonMiddleware = require('botkit-middleware-watson').WatsonMiddleware;
const middleware = new WatsonMiddleware({
iam_apikey: process.env.ASSISTANT_IAM_APIKEY,
workspace_id: process.env.WORKSPACE_ID,
url: process.env.ASSISTANT_URL || 'https://gateway.watsonplatform.net/assistant/api',
version: '2018-07-10'
});
...在
ASSISTANT_URL
中设置.env
的位置。这似乎是配置模拟服务器/模拟器的URL的地方。如果您正在使用的模拟器支持作为HTTP代理运行,则botkit的另一种选择是将模拟器称为HTTP代理。