是否可以在APIM请求内部进行短轮询,然后用同步响应进行响应?
流程是这样的:
对于API使用者来说,这将是一个单一的请求。
这是一种常见的模式吗?还是只向API使用者提供202个响应轮询URL更好?我预计请求只需几秒钟到不到一分钟。
有没有一种我还没考虑过的更标准的方法呢?
发布于 2020-05-02 05:07:59
它是主观的,你想要你的API显示给消费者。
在将实现转移到逻辑应用程序时使用API-M来掩盖异步API。,即使它属于逻辑应用程序,您也可以为任何异步API实现相同的模式。
摘录自链接:
<outbound>
<base />
<retry condition="@(((IResponse)context.Variables["var"]).StatusCode == 202)" count="10" interval="30">
<send-request mode="new" response-variable-name="var" ignore-error="false">
<set-url>@(context.Response.Headers["location"][0])</set-url>
<set-method>GET</set-method>
</send-request>
</retry>
<return-response response-variable-name="var" />
</outbound>
正如我前面所指出的,它实际上取决于您希望如何将API呈现给您的消费者。两种模式都是有效的。
https://stackoverflow.com/questions/61553810
复制相似问题