WSO2 API 管理器原型 API HTTP 响应状态
WSO2 API manager prototype API HTTP response status
我正在使用 WSO2 API 管理器中的内联 javascript 原型功能,我正在尝试设置不同的 HTTP 响应状态。这可能吗?如果是的话是怎么做到的?
到目前为止,我已经尝试设置 HTTP_SC 属性 但这似乎没有任何效果。
mc.setProperty('HTTP_SC', "404");
您需要在 <send/>
mediator
之前添加以下属性
<header name="To" action="remove"/>
<property name="RESPONSE" value="true"/>
<property name="HTTP_SC" value="403" scope="axis2"/>
我有同样的要求,经过大量探索后,我找到了可行的解决方案。
设置属性的原因:
mc.setProperty('HTTP_SC', "404");
不起作用是 属性 需要在 axis2 范围内设置(如 Abimaran 所说)。 mc.setProperty 没有在那个范围内设置它。此外,MessageContext 对象不提供设置范围的方法。
'Deploy as Prototype' 操作实际上创建了 API 定义文件,方法是将指定的内联脚本合并到速度模板中,并将生成的 API 定义存储到文件中。
- 模板:./repository/resources/api_templates/prototype_template.xml
- 输出位置:repository/deployment/server/synapse-configs/default/api/
输出文件的名称格式如下:
供应商--API 姓名--vVERSION.xml
其中提供者似乎是 API 创建者的用户名。
我所做的是向模板添加过滤器:
<filter source="boolean(get-property('HTTP_SC'))" regex="false">
<then>
<property name="HTTP_SC" value="200" scope="axis2"/>
</then>
<else>
<property name="HTTP_SC" expression="get-property('HTTP_SC')" scope="axis2"/>
</else>
</filter>
我在 inSequence 元素开头的类似块(用于处理 CONTENT_TYPE)之后立即添加了它。
我正在使用 WSO2 API 管理器中的内联 javascript 原型功能,我正在尝试设置不同的 HTTP 响应状态。这可能吗?如果是的话是怎么做到的?
到目前为止,我已经尝试设置 HTTP_SC 属性 但这似乎没有任何效果。
mc.setProperty('HTTP_SC', "404");
您需要在 <send/>
mediator
<header name="To" action="remove"/>
<property name="RESPONSE" value="true"/>
<property name="HTTP_SC" value="403" scope="axis2"/>
我有同样的要求,经过大量探索后,我找到了可行的解决方案。
设置属性的原因:
mc.setProperty('HTTP_SC', "404");
不起作用是 属性 需要在 axis2 范围内设置(如 Abimaran 所说)。 mc.setProperty 没有在那个范围内设置它。此外,MessageContext 对象不提供设置范围的方法。
'Deploy as Prototype' 操作实际上创建了 API 定义文件,方法是将指定的内联脚本合并到速度模板中,并将生成的 API 定义存储到文件中。
- 模板:./repository/resources/api_templates/prototype_template.xml
- 输出位置:repository/deployment/server/synapse-configs/default/api/
输出文件的名称格式如下:
供应商--API 姓名--vVERSION.xml
其中提供者似乎是 API 创建者的用户名。
我所做的是向模板添加过滤器:
<filter source="boolean(get-property('HTTP_SC'))" regex="false">
<then>
<property name="HTTP_SC" value="200" scope="axis2"/>
</then>
<else>
<property name="HTTP_SC" expression="get-property('HTTP_SC')" scope="axis2"/>
</else>
</filter>
我在 inSequence 元素开头的类似块(用于处理 CONTENT_TYPE)之后立即添加了它。