这里示例用post的方式发送数据,并在云函数获取数据
写了个helloword,代码如下:
exports.main = async (event, context) => {
console.log(event)
const obj = JSON.parse(event.body)
return {
result: 0,
resInfo: 'Hello ' + obj.name
}
};
这样我们就可以通过postman发送post请求访问,我是直接用python访问,代码如下:
#post请求提交用户信息到服务器
import urllib.request
import urllib.parse
import ssl
import json
context = ssl._create_unverified_context()
url = 'https://cloudbasedemo-9go8tl9mf682c3c7-1301583309.ap-guangzhou.app.tcloudbase.com/say-hello'
values = {
'name' : 'elikong',
'location' : 'shenzhen',
'language' : 'Python' }
data = json.dumps(values).encode('utf-8')
print(data)
req = urllib.request.Request(url, data=data)
with urllib.request.urlopen(req, context=context) as response:
html = response.read()
print(html.decode("utf-8"))
print(response.code)
在使用过程中由于开始错误的访问了body数据,把代码写成了:
JSON.parse(event[body])
导致json解析总是错误,后来发现只能写成
JSON.parse(event.body)
或者
JSON.parse(event['body'])
如果想使用云控制台上的测试模板-hello world事件模板,就需要改代码为下面的形式,就比较统一了
exports.main = async (event, context) => {
console.log(event)
let obj = null
if(event.body != null){
obj = JSON.parse(event['body'])
} else {
obj = event
}
return {
result: 0,
resInfo: 'Hello ' + obj.name
}
};
测试模板用:
{
"name": "elikong"
}
网友评论