【发布时间】:2017-11-14 08:36:49
【问题描述】:
我正在 IBM 平台上尝试一些基本的 API Connect 教程(使用环回在本地运行)并且在早期完全陷入困境。
我用一些内存数据和 setter / getter 函数构建了一个基本的 API 服务。然后,我构建了一个单独的 API,它接受两个 GET 参数并使用我的一个 getter 函数来执行基于两个条件的搜索。当我运行它时,我成功地得到了以下 JSON 对象的响应:
[{"itemId":1,"charge":9,"itemSize":2,"id":2}]
然后我尝试添加一个修改响应数据的服务器逻辑 - 此时,我只是尝试添加一个额外的字段。我在 Assemble 视图中添加了一个 Javascript 组件,并包含以下代码(取自教程),我认为应该修改 API 返回的消息正文,同时仍然通过它:
//APIC: get the payload
var json = apim.getvariable('message.body');
//console.error("json %s", JSON.stringify(json));
//same: code to inject new attribute
json.platform = 'Powered by IBM API Connect';
//APIC: set the payload
//message.body = json;
apim.setvariable('message.body', json);
调用服务时,我得到的只是 500 错误,而不是额外的 JSON 参数(“平台”)。我猜我做错了什么,但所有文档都建议使用这些是正确的变量名。
【问题讨论】:
标签: javascript json ibm-cloud apiconnect