gpt4 book ai didi

node.js - OpenWhisk 返回整个响应对象而不仅仅是数据

转载 作者:太空宇宙 更新时间:2023-11-03 23:23:17 26 4
gpt4 key购买 nike

我有一个返回响应对象的 OpenWhisk 操作,因为我希望能够控制 header 和 HTTP 状态代码。我的操作返回如下内容:

 return {
statusCode: 200,
headers: { 'Content-Type': 'application/json' },
body: { x: 1 }
};

我从命令行将操作部署到包中:

wsk action update myproj/myaction --kind nodejs:6 myaction.zip --web true

并将其公开为 IBM Cloud Functions 上的 API:

wsk api create /myproj /myaction get myproj/myaction

但是当我使用 curl 访问 API 调用时,我得到了整个响应对象,而不仅仅是数据:

curl '.../myproj/myaction'

{
"statusCode": 200,
"headers": {
"Content-Type": "application/json"
},
"body": { x: 1 }
}

我原本期望得到{ x: 1 }

我需要做什么来解决这个问题?

最佳答案

默认 API 网关服务行为期望从操作返回正文数据,而不是完整的 HTTP 响应参数。

将 return 语句更改为以下内容以解决此问题。

return {
x: 1
};

使用返回的操作参数控制完整的 HTTP 响应需要在 Web 操作上设置 --response-type http 标志。

$ wsk api create /myproj /myaction get myproj/myaction --response-type http

关于node.js - OpenWhisk 返回整个响应对象而不仅仅是数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47388914/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com