POST 调用转换为 GET

POST call converting to GET

我是 apigee 的新手。

我正在尝试使用查询参数在 apigee 中进行 post 调用。

流程如下

Client send request --> verify API key ---> extract payload --> remove access token --> call target endpoint conditional based on POST 

我正在使用 curl 命令进行 POST call.But 问题是在调用目标端点时将其作为 /GET 调用并且条件评估为 false。

Apigee 可以将入站 POST 转换为 back-end GET。在 Apigee 中,这意味着当您需要从上游调用客户端接收 POST 时,使用策略重建调用,在您的目标 back-end 上使用 GET 方法(动词)。您将需要使用 AssignMessage 政策。这些产品文档正是您需要查看的内容: https://docs.apigee.com/api-platform/reference/policies/assign-message-policy#set-verb

示例,分配消息:

<AssignTo type="request" createNew="false"/>

<Set> ...  <Verb>GET</Verb>

请注意,将方法(动词)从 POST 转换为 GET 时,策略将 不会 自动转换 POST 的表单参数查询参数。您将需要使用 AssignMessage 策略的 <Add> and/or <Remove> 功能来进一步操作消息。在 AssignMessage 策略中使用示例来添加查询参数,引用格式参数:

<Add>
    <QueryParams>
        <QueryParam name="q1">{request.formparam.q1}</QueryParam>
    </QueryParams>
</Add>

感谢用户 Michael Russo for his Answer 八年前的这件事。