我有一些启用 Web 的操作,这些操作通过 IBM Cloud Serverless Functions 中的 API Connect 公开。我的一些操作使用请求承诺来调用外部 REST 服务,我需要能够捕获错误并以适当的状态代码响应调用者。由于这些操作是支持 Web 的,因此文档表明我可以使用带注释的 JSON 来设置响应的标头、状态代码和正文。但看起来,API 似乎总是希望得到一个 Content-Type=application/json,在发生错误的情况下响应处理器无法理解我的注释。我尝试了以下但没有成功:
let rp = require('request-promise');
function main(params){
//setup options
return rp(options).then(
res => {
return res;
}
).catch(
err => {
return { error: { statusCode:err.statusCode } }
}
);
}
另一种变化:
let rp = require('request-promise');
function main(params){
//setup options
return rp(options).then(
res => {
return res;
}
).catch(
err => {
return { statusCode:err.statusCode }
}
);
}
问题是我总是得到的状态码是 200 ......我还尝试将运行时更改为 node8.0 但没有成功。
谢谢!