gpt4 book ai didi

apigee - 当请求为 POST 时在 Apigee HTTPTargetConnection 上调用 GET

转载 作者:行者123 更新时间:2023-12-02 01:07:06 25 4
gpt4 key购买 nike

我需要调用使用 GET 的遗留 API。我的 API 代理使用 POST。

我尝试在 AssignMessage 中使用: <AssignTo type="request" createNew="false"/>

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

但它仍然在目标 API 上执行 POST。

什么是正确的转换方式?网关会自动将POST表单参数转换为GET查询参数吗?是message.queryparam GET 和 POST 都一样吗?

最佳答案

POST 转换动词时至 GET , 该策略不会自动将表单参数转换为查询参数。您将需要使用 <Add>和/或 <Remove> AssignMessage 的功能进一步操纵消息的策略。 AssignMessage 中的示例使用添加查询参数的策略,引用格式参数:

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

此外,在您的问题中,您提到 API 代理使用 POST 方法接受请求.然后,您有一个策略来设置 GET :

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

But it still does a GET on the target API.

有什么问题?这不是你所期待的吗?请求作为 POST 进入 Apigee API 代理,代理将方法(动词)转换为 GET ,并使用 GET 将请求发送到后端遗留 API .

备注:<AssignTo>在 AssignMessage 中是可选的。如果未正确设置方法,请尝试将其省略。如果它不存在,流中当前点的消息将被修改。

关于apigee - 当请求为 POST 时在 Apigee HTTPTargetConnection 上调用 GET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21257837/

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