参数 | 是否必填 | 说明 |
选择函数 | 必填 | 选择修改请求体的函数所在的命名空间、名称和版本。 |
后端超时 | 必填 | 设置 API 网关转发到修改请求体的函数的后端超时时间,超时时间的最大限制为30分钟。在 API 网关调用修改请求体的函数,未在超时时间内获得响应时,API 网关将终止此次调用,并返回相应的错误信息。 |
自定义内容 | 必填 | 设置 API 网关发送给修改请求体的函数的请求内容,支持选择 Header、Body、Query。未选择的请求内容部分将不被修改,直接转发给业务后端。 |
Base64 编码 | 必填 | 是否将请求内容 Base64 编码后再转发给修改请求体的函数,一般适用于请求内容是二进制的情况。 |
参数 | 是否必填 | 说明 |
请求方法 | 必填 | 请求自定义请求体函数的方法,支持 GET、POST、PUT、DELETE、HEAD、ANY。 |
公网服务 | 必填 | 请求体服务访问地址,支持 HTTP 和 HTTPS 协议。 |
路径匹配模式 | 必填 | 支持后端路径匹配和全路径匹配两种方式。 后端路径匹配:直接使用配置的路径请求服务。 全路径匹配:使用去除请求路径的路径请求服务,如 API 路径配置为 /a/,请求路径为 /a/b,开启全路径匹配后,传输给服务的为 /b。 |
参数 | 是否必填 | 说明 |
选择 VPC | 必填 | 选择自定义请求改写服务所属的 VPC。 |
请求方法 | 必填 | 请求自定义请求改写服务的方法,支持 GET、POST、PUT、DELETE、HEAD、ANY。 |
后段地址 | 必填 | 自定义请求体服务访问地址,支持 HTTP 和 HTTPS 协议。 |
{"replace_headers":{"header1":"header1-value","header2":"header2-value"},"remove_headers":["header3","header4"],"replace_body":"hello","replace_querys":{"query1":"query1-value","query2":"query2-value"},"remove_querys":["query3","query4"]}
package com.example.demo;import com.google.gson.JsonArray;import com.google.gson.JsonObject;import com.qcloud.services.scf.runtime.events.APIGatewayProxyRequestEvent;public class Demo {public String mainHandler(APIGatewayProxyRequestEvent request) {System.out.println("helloworld");System.out.println(request.getHttpMethod());JsonObject resp = new JsonObject();headerHandler(request, resp);headerQuery(request, resp);headerBody(request, resp);return resp.toString();}private void headerHandler(APIGatewayProxyRequestEvent request, JsonObject resp) {JsonObject replace_headers = new JsonObject();JsonArray remove_headers = new JsonArray();// 示例:替换或新增 header1 header2replace_headers.addProperty("header1", "header1-value");replace_headers.addProperty("header2", "header2-value");// 示例:删除 header3remove_headers.add("header3");resp.add("replace_headers", replace_headers);resp.add("remove_headers", remove_headers);}private void headerQuery(APIGatewayProxyRequestEvent request, JsonObject resp) {JsonObject replace_querys = new JsonObject();JsonArray remove_querys = new JsonArray();// 示例:替换或新增 query1 query2replace_querys.addProperty("query1", "query1-value");replace_querys.addProperty("query2", "query2-value");// 示例:删除 header3remove_querys.add("query3");resp.add("replace_querys", replace_querys);resp.add("remove_querys", remove_querys);}private void headerBody(APIGatewayProxyRequestEvent request, JsonObject resp) {resp.addProperty("replace_body", "{'name':'Yagr'}");}}
{"endpoint_timeout":15, // 后端超时时间,单位秒,合法值:0 ~ 60 秒"func_name":"test_name", // 自定义函数名称"func_namespace":"test_namespace", // 自定义函数命名空间"func_qualifier":"$LATEST", // 自定义函数版本"is_base64_encoded":true, // 是否将请求内容 Base64 编码后再转发给修改请求体的函数"is_send_req_body":true, // 是否将请求的Body内容发送到函数"is_send_req_headers":true, // 是否将请求的Header内容发送到函数"is_send_req_querys":true, // // 是否将请求的Query内容发送到函数"user_id":1253970226 // appid}
本页内容是否解决了您的问题?