azure-logic-apps - 带有逻辑应用的 Azure APIM:定义被忽略?
问题描述
我有一个逻辑应用程序作为 API(通过 APIM),带有一个用于帖子的 HTTP 请求触发器。在 APIM 中,我为请求创建了模式定义
简化示例:
{
"properties": {
"id": {
"type": "string"
},
"email": {
"type": "string"
}
},
"required": [
"id",
"email"
],
"type": "object"
}
但是,当我测试时,该帖子未经过验证。我可以输入数字而不是字符串或发送完全空的消息。
如果我在逻辑应用程序触发器中设置相同的架构,则验证很好,但我更愿意将定义保留在 APIM 中,这样我就不必为前端的逻辑应用程序和 APIM 管理架构。
我认为这以前有效,我记得有一个类似的逻辑应用程序 API,其中 APIM 中的模式验证是可能的。
有什么我想念的吗?
解决方案
将逻辑应用导入 Azure APIM 后,向导将在POST
操作下为您公开逻辑应用。默认情况下,操作名称将始终为“request-invoke”。
要测试向 Azure API 管理公开的逻辑应用,您需要:
在 API 顶部选项菜单下,选择Test
选项,在这种情况下,只有一个操作会自动被选中;
在该Request body
部分中,选择Raw
选项并插入要发送到逻辑应用程序的有效且预期的请求;
最后,按“发送”。
之后,您将看到来自 Logic App 的预期响应。
有关如何使用 Azure API 管理公开和保护逻辑应用的更多详细信息,您可以参考这篇文章。
推荐阅读
- python - Django 扩展 graph_models 不生成字符
- sql - 如何将 SQL 语句转换为等效的 Cognos 查询计算?
- google-bigquery - 在 BigQuery 中查询多边形
- laravel - 在 Laravel 中使用迁移自动创建 Schema
- laravel - 不明白如何在 laravel 中使用 doesntHave
- c# - 重新抛出异常困难——异常使程序崩溃而不是重新抛出
- node.js - 本地主机的 Nodejs 模块路径
- javascript - 保存到 localStorage 时保留实例类型
- python - 组织 Python 类的最佳方式是什么?
- c# - 如何在 Postgres 表中正确存储 C# 的 Bitarray