【问题标题】:Validate-content returns error for json content type Azure Api Management policies验证内容返回 json 内容类型 Azure Api 管理策略的错误
【发布时间】:2022-01-18 16:11:57
【问题描述】:

我正在使用以下代码

    <validate-content unspecified-content-type-action="prevent" max-size="102400" size-exceeded-action="prevent" errors-variable-name="requestBodyValidation">
        <content type="application/json" validate-as="json" action="ignore" />
    </validate-content>

在 api 管理策略中,但是当我发送 Content-Type 为 application/json 的请求时,我收到错误 Unspecified content type application/json is not allowed

不确定问题或我对政策的理解有误。

有什么建议或解决方案吗?

【问题讨论】:

  • 能否请您添加一个示例/重现您正在尝试验证的消息以及使验证失败无法进一步分析并帮助我们您是否正在执行任何 GET 或 DELETE 操作?

标签: azure validation content-type azure-api-management policies


【解决方案1】:

validate-content 政策用于根据 API 架构验证请求或响应正文的大小或 JSON 架构。除 JSON 外,不支持其他格式。

以下示例显示了如何验证请求和响应中的 JSON 负载。有效负载大于 100 KB 的消息将被阻止。

<validate-content unspecified-content-type-action="prevent" max-size="102400" size-exceeded-action="prevent" errors-variable-name="requestBodyValidation">
    <content type="application/json" validate-as="json" action="detect" />
    <content type="application/hal+json" validate-as="json" action="detect" />
</validate-content>

我建议阅读 Microsoft 提供的此 API Management policies to validate requests and responses 文档,了解有关 validate-content 政策的详细信息。

这应该可以解决您面临的问题。但如果您仍然遇到同样的错误,请向Azure support 提出票证。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-25
    • 2020-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-09
    • 1970-01-01
    相关资源
    最近更新 更多