获取请求参数
在使用 T1 后端云云函数编写 API 接口时,通常您需要传递一些有用的数据,您可以通过 ctx
对象中的方法获取当前请求中的数据。
获取请求方法
因为 T1 后端云云函数支持所有的请求方法,因此在使用过程中您可能需要对特定的请求方法进行处理,当然如果您设计程序时,很清楚需要使用什么类型的请求方法,那么您可以不用在意这个问题。
示例代码
通过 ctx
对象中的 getMethod
方法可以获取到当前的请求方法,返回值是字符串类型。
js
function main() {
let method = ctx.getMethod()
return '当前的请求方法是:' + method
}
获取 GET 请求参数
您可以通过 ctx
对象中的 query
方法获取 GET 请求参数中的数据。
请求 URL
url
http://您已备案域名/<应用ID>/<函数名>?username=admin&password=123456
示例代码
js
function main() {
let username = ctx.query('username')
let password = ctx.query('password')
if (username == '' || password == '') {
return '请填写用户名密码'
}
if (username != 'admin' || password != '123456') {
return '用户名或密码错误'
}
return '登录成功'
}
获取 POST 请求参数
您可以通过 ctx
对象中的 postForm
方法获取 POST 请求表单中的数据。
示例代码
js
function main() {
let username = ctx.postForm('username')
let password = ctx.postForm('password')
if (username == '' || password == '') {
return '请填写用户名密码'
}
if (username != 'admin' || password != '123456') {
return '用户名或密码错误'
}
return '登录成功'
}
获取请求 Header 中的数据
有些时候您可能也需要获取请求头中的数据,您可以通过 ctx
对象中的 getHeader
方法获取请求头中的数据。
示例代码
js
function main() {
let user_agent = ctx.getHeader('User-Agent')
return '当前请求的设备类型为:' + user_agent
}
获取请求 Cookie 中的数据
有些时候您可能也需要获取当前请求中的 Cookie 数据,您可以通过 ctx
对象中的 getCookie
方法获取当前请求中的 Cookie 数据。
示例代码
js
function main() {
let cookie = ctx.getCookie('test_cookie')
return 'test_cookie 的值为:' + cookie
}
获取请求 Body 中的数据
通常在使用 POST
、PUT
、DELETE
请求时,会在请求体中传递数据,GET
请求不包含请求体。您可以通过 ctx
对象中的 getBody
方法获取请求体中的数据。使用 SDK
中的 callFunc
方法调用云函数时,您也可以通过 ctx
对象中的 getBody
方法获取 callFunc
中传递的数据。
示例代码
js
function main() {
let body = ctx.getBody()
return '请求体中的数据为:' + body
}