【发布时间】:2019-08-23 14:15:46
【问题描述】:
我们已配置 APIM 并将其指向部署在 WebApp 中的 API 端点。
我们已经配置了相同的产品、订阅密钥、APIS、操作。
对于 APIM 端点,开发者必须传递订阅密钥,如果未传递,APIM 将返回 HTTP 401 并带有以下错误消息
由于订阅密钥无效,访问被拒绝。确保为有效订阅提供有效密钥。
有什么办法,我们可以根据业务团队的要求用自定义消息来改变这个吗?
【问题讨论】:
我们已配置 APIM 并将其指向部署在 WebApp 中的 API 端点。
我们已经配置了相同的产品、订阅密钥、APIS、操作。
对于 APIM 端点,开发者必须传递订阅密钥,如果未传递,APIM 将返回 HTTP 401 并带有以下错误消息
由于订阅密钥无效,访问被拒绝。确保为有效订阅提供有效密钥。
有什么办法,我们可以根据业务团队的要求用自定义消息来改变这个吗?
【问题讨论】:
在 on-error 部分使用选择策略来识别场景(您可以检查 context.LastError.Reason),并使用返回响应策略来提供自定义响应。
【讨论】:
目前没有办法做到这一点。请在 Azure 的反馈论坛上投票支持此请求:
Customize error schema messages
编辑:@Vitaliy Kurokhtin 的答案是一种解决方法,尽管您需要记住定义错误策略的位置(所有 API 级别、API 级别、操作级别)将影响您定义的 On Error 策略将被调用
【讨论】: