我遇到了同样的问题,并且能够找到一种方法来重现和解决。
如果您的操作未定义任何表示并使用验证内容策略,您将收到此错误。
最简单的修复:单击“操作”,在“前端”下选择基于表单的编辑器(铅笔图标)。单击“请求”选项卡。在“表示”下,单击“添加表示”。搜索“json”并选择“application/json”。保存前端更改。
现在操作和验证内容应该可以正常运行。
我希望对某人有帮助。
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 管理策略文档,以获取有关
validate-content
策略的详细信息。
这应该可以解决您面临的问题。但如果您仍然遇到相同的错误,请向Azure 支持提出请求。
这有点乱,但我
iravenscroft
的answer帮助我解决了这个问题。我只是想提供一些额外的背景信息。
然后在您想要的位置添加您的
validate-content
政策:
<validate-content unspecified-content-type-action="prevent" max-size="102400" size-exceeded-action="prevent" errors-variable-name="validationError">
<content type="application/vnd.my-content-type+json" validate-as="json" action="prevent" schema-id="my-schema-id" />
</validate-content>
在我的例子中,
my-schema-id
是在实例级别上传的模式:
这样,验证就可以按预期进行。