Azure API 管理策略:根据 json 架构验证请求正文

问题描述 投票:0回答:3
azure-api-management
3个回答
0
投票

 schema-id
 schema-ref
都是可选属性,用于根据 json 模式验证请求正文。

根据此 Azure API 管理验证策略 |微软文档

schema-id:添加到 API 管理实例以进行内容验证的现有架构的名称。如果未指定,则使用 API 定义中的默认架构。
schema-ref: 对于

schema-id
中指定的 JSON 架构,可选引用 JSON 文档中的有效本地引用路径。例如:
#/components/schemas/address
。该属性应返回一个 JSON 对象,API 管理将其作为有效的 JSON 架构进行处理。

确保检查Azure API 管理验证策略 |用于内容验证的 Microsoft Docs 架构,无论您是从文件还是 URL 导入,都可以提供正确的架构位置。


0
投票

正如 @madhuraj 所提到的,schema-id 是您在 Azure APIM 的“架构”部分中添加的架构的名称。 schema-ref 是 API 规范 (swagger/OpenAPI) 中架构定义的路径。 @vilmarci schema-ref 是可选的,但您给出了错误的路径,即“#/components/schemas/event”。 尝试不使用 schema-ref 它会起作用。


0
投票

基本上在API->Schemas下,我们可以使用名称(Id)定义JSON文档。例如,我们可以定义模式LoginAPI,并在其下定义不同的定义,

{
    "components": {
        "schemas": {
            "LoginModel": {
                "type": "object",
                "required": [
                    "email",
                    "password"
                ],
                "properties": {
                    "email": "definition",
                    "password": "definition"
                }
            }
        }
    }
}

然后在 validate-content 配置中,您可以使用 schema-id="LoginAPI"schema-ref="#/components/schemas/LoginModel"

© www.soinside.com 2019 - 2024. All rights reserved.