WSO2 API 管理员添加 hal+json

WSO2 API Manager Add hal+json

我新添加了 messageFormattermessageBuilder 类似于:

<messageFormatter contentType="application/hal+json" class="org.apache.synapse.commons.json.JsonStreamFormatter"/>

<messageBuilder contentType="application/hal+json" class="org.apache.synapse.commons.json.JsonStreamBuilder"/>

在这两个文件中:

在 API 管理器版本 3.0.0.

但在 APIM 版本 3.0.0 中,此文件中的所有更改都会丢弃,因为任何服务器配置都是:[API-HOME]/repository/conf/ deployment.toml,参考:https://github.com/wso2/docs-apim/issues/498

添加这些行的正确方法是什么?

谢谢!

试试这个。

1) 打开repository/resources/conf/templates/repository/conf/axis2/axis2.xml.j2.

i) 在 <messageFormatters>

下添加这些
{% for message_formatter in custom_message_formatters %}
    <messageFormatter contentType="{{message_formatter.content_type}}"
                      class="{{message_formatter.class}}"/>
{% endfor %}

ii) 在 <messageBuilders>

下添加这些
{% for message_builder in custom_message_builders %}
    <messageBuilder contentType="{{message_builder.content_type}}"
                    class="{{message_builder.class}}"/>
{% endfor %}

2) 将此添加到 deployment.toml

[[custom_message_builders]]
content_type = "application/hal+json"
class="org.apache.synapse.commons.json.JsonStreamBuilder"

[[custom_message_formatters]]
content_type = "application/hal+json"
class="org.apache.synapse.commons.json.JsonStreamFormatter"

参考:https://ei.docs.wso2.com/en/latest/micro-integrator/setup/message_builders_formatters/message-builders-and-formatters/#custom-message-formatter

在 API Manager 3.0.0 中,无法使用 deployment.toml 文件添加自定义消息生成器和格式化程序。

因此,如果您需要配置额外的消息生成器、格式化程序,您需要编辑 <APIM_HOME>/repository/resources/conf/templates/repository/conf/axis2/axis2.xml.j2 并添加所需的消息生成器和格式化程序。