首页 > 解决方案 > 带有逻辑应用的 Azure APIM:定义被忽略?

问题描述

我有一个逻辑应用程序作为 API(通过 APIM),带有一个用于帖子的 HTTP 请求触发器。在 APIM 中,我为请求创建了模式定义

简化示例:

{
"properties": {
    "id": {
        "type": "string"
    },
    "email": {
        "type": "string"
    }
},
"required": [
    "id",
    "email"
],
"type": "object"
}

但是,当我测试时,该帖子未经过验证。我可以输入数字而不是字符串或发送完全空的消息。

如果我在逻辑应用程序触发器中设置相同的架构,则验证很好,但我更愿意将定义保留在 APIM 中,这样我就不必为前端的逻辑应用程序和 APIM 管理架构。

我认为这以前有效,我记得有一个类似的逻辑应用程序 API,其中 APIM 中的模式验证是可能的。

有什么我想念的吗?

标签: azure-logic-appsazure-api-management

解决方案


将逻辑应用导入 Azure APIM 后,向导将在POST操作下为您公开逻辑应用。默认情况下,操作名称将始终为“request-invoke”。

要测试向 Azure API 管理公开的逻辑应用,您需要:

在 API 顶部选项菜单下,选择Test选项,在这种情况下,只有一个操作会自动被选中;

在该Request body部分中,选择Raw选项并插入要发送到逻辑应用程序的有效且预期的请求;

最后,按“发送”。

在此处输入图像描述

之后,您将看到来自 Logic App 的预期响应。

在此处输入图像描述

有关如何使用 Azure API 管理公开和保护逻辑应用的更多详细信息,您可以参考这篇文章


推荐阅读