返回响应
适用于:所有 API 管理层级
return-response
策略会取消管道执行,为调用方返回默认响应或自定义响应。 默认响应为200 OK
,无正文。 可以通过上下文变量或策略语句指定自定义响应。 二者都提供时,会通过策略语句对上下文变量中包含的响应进行修改,然后再将其返回给调用方。
注意
按照策略声明中提供的顺序设置策略的元素和子元素。 详细了解如何设置或编辑 API 管理策略。
策略语句
<return-response response-variable-name="existing context variable">
<set-status>...</set-status>
<set-header>...</set-header>
<set-body>...</set-body>
</return-response>
属性
属性 | 说明 | 需要 | 默认 |
---|---|---|---|
response-variable-name | 上下文变量的名称,该变量引用自特定的策略(例如上游 send-request 策略)且包含 Response 对象。 不允许使用策略表达式。 |
否 | 空值 |
元素
元素 | 说明 | 必需 |
---|---|---|
set-status | 设置响应的状态代码。 | 否 |
set-header | 设置响应中的标头。 | 否 |
set-body | 设置响应中的正文。 | 否 |
使用情况
使用注意事项
- 在
return-response
策略的(使用set-body
设置的)正文内指定时,Liquid 模板不起作用。 策略return-response
取消当前执行管道,并删除当前上下文中的请求正文和响应正文。 因此,在策略中指定的 Liquid 模板会接收一个空字符串作为其输入,而不会生成预期的输出。
示例
<return-response>
<set-status code="401" reason="Unauthorized"/>
<set-header name="WWW-Authenticate" exists-action="override">
<value>Bearer error="invalid_token"</value>
</set-header>
</return-response>
相关策略
后续步骤
有关使用策略的详细信息,请参阅:
- 教程:转换和保护 API
- 策略参考,其中提供了策略语句及其设置的完整列表
- 策略表达式
- 设置或编辑策略
- 策略示例